ich diesen Code JSON-Format zum Lesen:Was bedeutet __NSSingleObjectArrayI in Objective C? wenn ich versuche, eine Json
{
"weather": [{
"description": "clear sky",
"icon": "01n"
}],
"base": "stations",
"main": {
"temp": 285.514
},
"clouds": {
"all": 0
},
"dt": 1485792967,
"id": 1907296
}
Und ich will Symbol string (01n)
Und verwenden Sie diesen Code retrive:
@property(nonatomic,strong) NSString *cityImageName;
self.cityImageName = [[dataJson valueForKey:@"weather"] valueForKey:@"icon"];
Und später, wenn ich die Variable print prüfe:
<__NSSingleObjectArrayI 0x604000009890>(
01n
)
Wie kann ich die Zeichenfolge direkt erhalten? nicht wie ein __NSSingleObjectArrayI
Warum verwenden Sie 'valueForKey:' anstelle von 'objectForKey:'? – rmaddy
Während die zwei Antworten richtig sind und erklären, was schief gelaufen ist ('valueForKey:'), um Ihre Frage zu beantworten, ist es eine interne Klasse, die sagt: "NSArray" "Unveränderlich" (für das "Ich" am Ende, gegen Mutable) Version, aber das ist implizit mit "NSArray" vs "NSMutableArray") und optimiert für nur ein Objekt ("SingleObject" -Teil). – Larme