Je travaille sur une application de flux Facebook pour l'iPhone qui, entre autres choses, détermine si une image est attachée à un message et la stocke dans un tableau. Quand je lance le code, mes NSLogs me disent que rien n'est mis dans le tableau, même s'il est en train de lire s'il y a ou non une objectAtKey: @ "picture". Ce qui suit est une partie de mon code.iOS: impossible de stocker une chaîne dans un tableau
de MasterView.m:
//create array containing individual "datas"
NSArray *items = [json objectForKey:@"data"];
for(NSDictionary *item in items)
{
// store message in ItemStore sharedStore
if([item objectForKey:@"message"] || [item objectForKey:@"message"] != nil ||
[[item objectForKey:@"message"] length] > 0){
[[JSONFeedItemStore sharedStore] createItem:[item objectForKey:@"message"]];
}
//
if([item objectForKey:@"picture"]){
[[JSONFeedItemStore sharedStore] createPicture:[[item objectForKey:@"picture"] description]];
NSLog(@"url: %@", [item objectForKey:@"picture"]);
} else {
[[JSONFeedItemStore sharedStore] createPicture:@"http://i.imgur.com/TpIK5.png"]; // blank
NSLog(@"creating blank picture");
}
}
de ItemStore.m
- (void)createPicture:(NSString *)pictureUrl
{
[pictures addObject:pictureUrl];
NSLog(@"Number: %d, URL: %@", [pictures count], [pictures objectAtIndex:[pictures count]]);
}
et ma console
2012-08-07 08:21:54.153 JSONFeed[2502:f803] Number: 0, URL: (null)
2012-08-07 08:21:54.154 JSONFeed[2502:f803] creating blank picture
2012-08-07 08:21:54.155 JSONFeed[2502:f803] Number: 0, URL: (null)
2012-08-07 08:21:54.156 JSONFeed[2502:f803] creating blank picture
2012-08-07 08:21:54.157 JSONFeed[2502:f803] Number: 0, URL: (null)
2012-08-07 08:21:54.157 JSONFeed[2502:f803] url: http://photos-a.ak.fbcdn.net/hphotos-ak-ash4/423482_427478620624383_82270372_s.jpg
2012-08-07 08:21:54.158 JSONFeed[2502:f803] Number: 0, URL: (null)
2012-08-07 08:21:54.158 JSONFeed[2502:f803] creating blank picture
SharedStore est une partie d'une classe de ItemStore créé pour stocker les messages et des photos de messages Facebook. Si vous avez des questions, ou besoin de voir plus de code, n'hésitez pas à demander. Je prends également des suggestions d'amélioration, car je suis encore novice dans la programmation d'applications.
Quand vous appelez 'createPicture', pourquoi envoyez-vous' [[object objectForKey: @ "image"] description] 'au lieu de simplement' [item objectForKey: @ "image"] '? –
La parenthèse supplémentaire est parce que j'appelle la description de cet objet. Le reste de cet appel est [[object objectForKey: @ "picture"] description]. – Chance
Je sais pourquoi le support supplémentaire est là, mais pourquoi utiliser 'description'? –