Objective c 如何获取';OSX上SLRequest返回的NSCFDictionary中的?

Objective c 如何获取';OSX上SLRequest返回的NSCFDictionary中的?,objective-c,facebook,macos,Objective C,Facebook,Macos,我向facebook提出以下请求: SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET U

我向facebook提出以下请求:

SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
                                                    requestMethod:SLRequestMethodGET
                                                              URL:[NSURL URLWithString:@"https://graph.facebook.com/fql"]
                                                       parameters:[NSDictionary dictionaryWithObject:@"SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" forKey:@"q"]];

[facebookRequest setAccount:_facebookAccount];

[facebookRequest performRequestWithHandler:^(NSData* responseData, NSHTTPURLResponse* urlResponse, NSError* error) {
     if(!error){
           id json = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
           NSLog(@"%@", [json class]); 
           //NSCFDictionary. How can i get the data that's inside this?
     }else{
           NSLog(@"error fb");
            }
     }];

关于如何检索NSCFDictionary中的数据有什么想法吗?我尝试了
[json valueforKey…]
但没有使用NSDictionary的
-objectForKey:
方法:

id json = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
if ([json isKindOfClass:[NSDictionary class]]) {
    NSDictionary *dict = (NSDictionary*)json;
    for (NSString *key in dict) {
        id object = [dict objectForKey:key];
        NSLog(@"The object for key \"%@\" is: %@", key, object);
    }
}

顺便说一句,我们不需要花太多时间就可以看出NSCFD字典可以像NSCFD字典一样对待。这里有一个这样的问题可以解释:一旦你知道了这一点,你就可以通过查看NSDictionary的文档轻松地找出如何处理它。

使用NSDictionary的
-objectForKey:
方法:

id json = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
if ([json isKindOfClass:[NSDictionary class]]) {
    NSDictionary *dict = (NSDictionary*)json;
    for (NSString *key in dict) {
        id object = [dict objectForKey:key];
        NSLog(@"The object for key \"%@\" is: %@", key, object);
    }
}

顺便说一句,我们不需要花太多时间就可以看出NSCFD字典可以像NSCFD字典一样对待。这里有一个问题可以解释这一点:一旦你知道了这一点,你就可以通过查看NSDictionary的文档轻松找到如何处理它。

谢谢你!这是我的工作。奇怪的是,
NSLog
只记录了1次,而它记录了所有内容。我使用此代码获取数据的第一个“uid”、“pic_square”和“name”集
NSDictionary*dict=(NSDictionary*)[NSJSONSerialization JSONObjectWithData:responseData选项:0错误:nil];对于(NSString*key in dict){id object=[dict objectForKey:key];NSLog(@“key的对象是:%@,[objectobjectatindex:0]);}
谢谢!这是我的工作。奇怪的是,
NSLog
只记录了1次,而它记录了所有内容。我使用此代码获取数据的第一个“uid”、“pic_square”和“name”集
NSDictionary*dict=(NSDictionary*)[NSJSONSerialization JSONObjectWithData:responseData选项:0错误:nil];对于(NSString*key in dict){id对象=[dict objectForKey:key];NSLog(@“key的对象是:%@,[object objectAtIndex:0]);}