私はiPhone用のFacebookフィードアプリに取り組んでいます。このアプリは、特に、写真が投稿に添付されているかどうかを判断し、それを配列に保存します。コードを実行すると、objectAtKey:@ "picture"があるかどうかを読み取っていても、NSLogは配列に何も入れられていないことを通知します。以下は私のコードの一部です。
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");
}
}
ItemStore.mから
- (void)createPicture:(NSString *)pictureUrl
{
[pictures addObject:pictureUrl];
NSLog(@"Number: %d, URL: %@", [pictures count], [pictures objectAtIndex:[pictures count]]);
}
と私のコンソール
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は、Facebookの投稿からのメッセージと写真を保存するために作成されたItemStoreクラスの一部です。ご不明な点がある場合、またはコードをさらに表示する必要がある場合は、お気軽にお問い合わせください。私はまだAppsのプログラミングに慣れていないので、改善のための提案も行っています。