Работа с контентом NSDictionary, проанализированным с Flickr - PullRequest
0 голосов
/ 27 марта 2012

У меня проблема с доступом к 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);

}

1 Ответ

0 голосов
/ 28 марта 2012

itemDescriptionPre на самом деле NSDictionary.Это должно работать:

NSDictionary *itemDescriptionPre = [photoDescriptions objectAtIndex:0]; 
NSString *itemDescription = [itemDescriptionPre objectForKey:@"_content"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...