У меня проблема с доступом к NSDictionary, построенному из данных Flickr (вызов flickr.photosets.getPhotos). Вместо того, чтобы просто показывать содержимое тега описания, он читает тег описания… вместе с некоторыми ненужными данными и кавычками.
Например:
NSLog (@"Item description readout: %@", itemDescriptionPre);
дает этот ответ:
Item description readout: {
"_content" = "This is a caption from a photo drawn through Flickr";
}
Я пытался изменить строку NSString с помощью этого
NSString *descripTruncated = [itemDescriptionPre substringFromIndex:17];
Но это не привело к сбою во время выполнения. Это также не относится к элементам в конце элемента. Я извиняюсь, потому что об изменениях NSString здесь, кажется, много говорят, но я не могу найти обстоятельства, которые отражают мои.
Вот еще немного контекста моего кода:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Storing incoming data");
NSDictionary *results = [jsonString JSONValue];
NSLog(@"Building NSDictionary.");
NSArray *photos = [[results objectForKey:@"photoset"] objectForKey:@"photo"];
NSLog(@"Building array from dictionary.");
// Loop through each entry in the dictionary...
for (NSDictionary *photo in photos)
{
NSString *title = [photo objectForKey:@"title"];
NSString *description = [photo objectForKey:@"description"];
[photoTitles addObject:title];
[photoDescriptions addObject:description];
}
NSLog(@"Nicer display for results: %@ First image title: %@ First image description: %@", results, [photoTitles objectAtIndex:0], [photoDescriptions objectAtIndex:0]);
[self updateDisplay];
}
-(void) updateDisplay{
NSString *capTitle = [[photoTitles objectAtIndex:0] uppercaseString];
photoTitleDisplay.text = capTitle;
NSString *itemDescriptionPre = [photoDescriptions objectAtIndex:0];
NSLog (@"Item description readout: %@", itemDescriptionPre);
}