AFNetworking 2.0响应中的__NSCFArray是什么?

时间:2014-07-06 12:26:51

标签: objective-c nsarray afnetworking

此AFNetworking 2.0响应中的__NSCFArray是什么:

- (void)loadData:(NSMutableArray *) resDic
{
    ... 
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {            
        NSLog(@"%@",[responseObject class]);  //__NSCFArray   
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Failure: %@", error);
    }];
    [operation start];
}

如何将其转换为NSArray?

2 个答案:

答案 0 :(得分:3)

NSArrayclass cluster。这基本上意味着NSArray个对象可以由几个不同的实际实现之一组成,而__NSCFArrayNSArray可用于实现数组的类之一(可能是最常见的)

只需像使用__NSCFArray那样使用NSArray,就可以正常使用。

答案 1 :(得分:0)

它已经是NSArray,你可以通过调用来验证:

BOOL isKindOfArray = [responseObject isKindOfClass:[NSArray class]];

NSArray实现为class cluster,其可能返回的私有子类之一是__NSCFArray

类集群的意义在于框架可以提供您不必关心的不同实现。就你应该担心的而言,这是一个NSArray。