【发布时间】:2012-04-04 02:42:56
【问题描述】:
我有一个服务于 JSON 的 RESTful API。我这样称呼它:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:
kProjectList];
[self performSelectorOnMainThread:@selector(fetchedData:)
withObject:data waitUntilDone:YES];
});
}
然后我有我的 fetchedData 方法:
- (void)fetchedData:(NSData *)responseData {
//parse out the json data
NSError* error;
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:responseData //1
options:kNilOptions
error:&error];
//NSArray *projects = [json objectForKey:@"name"]; //2
NSLog(@"name: %@", json); //3
}
如果我取消注释 //NSArray 行,我会得到 -[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x6d81720
注释掉后,我的字典日志:
(
{
"created_at" = "2012-04-04T01:46:51Z";
description = "First Project Created";
id = 1;
name = "Test 1";
"updated_at" = "2012-04-04T01:46:51Z";
},
{
"created_at" = "2012-04-04T01:47:23Z";
description = "Second Project Created";
id = 2;
name = "Test 2";
"updated_at" = "2012-04-04T01:47:23Z";
}
)
【问题讨论】:
-
我读过其他类似的问题,我有 NSArray,我应该有 NSDictionary。进行此更改会给我完全相同的错误(显然是不同的实例 0x#######)。
-
你的问题是......?