JSON を使用して yahoo ファイナンスのデータを解析しようとしています。何らかの理由でアプリがクラッシュし続けます。コードの最後の行がクラッシュを引き起こしているようです。その行をコメントアウトすると、クラッシュは発生しません。これが私がこれまでに持っているものです....何かアイデアはありますか?
#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) //1
#define kLatestKivaLoansURL [NSURL URLWithString: @"http://query.yahooapis.com/v1/public/yql? q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22AAPL%22)%0A%09%09&env =http%3A%2F%2Fdatatables.org%2Falltables.env&format=json"] //2
#import "JsonViewController.h"
@implementation JsonViewController
- (void)viewDidLoad
{
[super viewDidLoad];
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:
kLatestKivaLoansURL];
[self performSelectorOnMainThread:@selector(fetchedData:)
withObject:data waitUntilDone:YES];
});
}
- (void)fetchedData:(NSData *)responseData {
//parse out the json data
NSError* error;
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:responseData //1
options:kNilOptions
error:&error];
NSArray* latestLoans = [json objectForKey:@"query"]; //2
NSLog(@"query: %@", latestLoans); //3
NSDictionary* loan = [latestLoans objectAtIndex:0]; /////// Where crash happens //////
}
@end
これはコンソールのエラーメッセージです
[__NSCFDictionary objectAtIndex:]: 認識されないセレクターがインスタンス 0x6a65420 2012-07-15 01:18:29.492 Json[1730:f803]に送信されましたインスタンス 0x6a65420 に送信されたセレクター