¿Cuál es el problema cuando los datos de la red en iOS no se pueden analizar?
Pasos:
1. Nombre del archivo recién creado: Este tiene. Conceptos básicos El sufijo m para registros es correcto. Esto es. m archivos, mientras que . No se requiere ningún archivo de declaración h.
2. Luego copie todos los siguientes códigos fuente:
1 //
2 // NSDictionary Log.m
3 /. / 01-Parámetros multivalor del disco madre y salida en chino
4 //
五
6 #Importar ltfoundation/foundation h gt; p>
Siete
8 // Reescribe el método de impresión del sistema,
9 // Lo que necesitas saber es que NSDictionary y NSArray tienen sus propios métodos de impresión.
10 // En otras palabras, si anula el método de anulación de impresión NSArray, el objeto NSArray solo se reescribirá después de imprimir.
11
12 // Si anula el método del sistema de clases principal a través de una subclase, debe importar esta subclase cuando la use.
13 //Pero si reescribe los métodos del sistema por categoría, no es necesario importarlos, porque el sistema ya importó el método reescrito con el mismo nombre y cargará los métodos anulados en la categoría primero, incluso. h archivo de declaración porque el sistema ya lo tiene. h documentos de declaración.
14
15 @Implement NSDictionary (log)
16
17 // Salida de control: diccionario o matriz de composición tipográfica.
18-(ns string *)descripción con configuración regional: (id)locale
19 {
20 NSMutableString * string =[NSMutableString string]; p>
p>
21 //La configuración comienza
22[string appendString: @ " { \ n "]; 24 //Establece el valor de la clave
25[self enumeratekeysandobjectsusingblock:^(id_non-null key, id_non-null object, bool *_non-null stop){
26[string append formato:@" @: ", clave];
27 [formato de adición de cadena: @" @, \n", obj];
28 }];
29 //Fin de la configuración
30[string appendString:@ " } "];
31
32 //Eliminar la última coma
33 ns rango rango =[rango de cadena de cadena:@ "," opciones: NSBackwardsSearch];
34 if (rango.ubicación!= NSNotFound) {
35[cadena eliminarCaracteresEnRange: rango];
36 }
37 cadena de retorno
38 }
39
40 /*
41-(ns string *)descripción con configuración regional: (id) sangría de configuración regional: (NSUInteger) nivel
42 {
43 NSMutableString * string =[NSMutableString string];
44 //Comienza la configuración
45[string appendString:@ " { "];
46 p >
47 //Establecer valores clave
48[self enumeratekeysandobjectsusingblock: ^(id_non-null key, id_non-null object, bool *_non-null stop){
Cuarenta y nueve
50[formato de adición de cadena:@"@:",key];
51[formato de adición de cadena:@"@",obj];
p>
52 }];
53 //Fin de la configuración
54[string appendString:@ " } "];
55 devuelve cadena ;
56 }
57 */
58 @End
59
60
61 @Implement NSArray (log)
62
63 // Salida de control: diccionario o matriz de composición tipográfica.
64-(ns string *)descripción con configuración regional: (id) locale
65 {
66 NSMutableString * string =[NSMutableString string];< / p>
67 //Iniciar configuración
68[string appendString:@ "["];
Sesenta y nueve
70 //Establecer clave valor
71[self enumerateobjectsusingblock: ^(id_non-null obj, NSUInteger idx, bool *_non-null stop) {
72[formato de adición de cadena: @" @, ", obj];
73
74 }];
75 //Fin de la configuración
76[string appendString:@ " ] "];
77
78 rango ns rango =[rango de cadena de cadena:@ "," opciones: NSBackwardsSearch];
79 if (rango . ubicación! = NSNotFound) {
80[cadena eliminarCharactersInRange: rango];
81 }
82
83 cadena de retorno;
84 }
Ochenta y cinco
86 @End