NSMutableData对象无法识别选择器?

时间:2010-10-23 19:47:05

标签: iphone objective-c

我正在尝试为我正在开发的网站编写iPhone伴侣。我试图通过使控制器成为NSURLConnection的委托来从我的网站获取JSON数据。这是问题所在,我有一个名为responseData的NSMutableData对象,如下所示:

responseData = [NSMutableData dataWithLength:0];

我想附加数据:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [responseData appendData:data];
}

然而,这导致我的应用程序崩溃并在控制台中说:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFArray appendData:]: unrecognized selector sent to instance 
0x6d0a640'

我非常有信心应该识别appendData,所以我不知道这里的问题是什么......

1 个答案:

答案 0 :(得分:6)

您必须保留对象:

responseData = [NSMutableData dataWithLength:0];

[responseData retain];

但这不是常见的做法。只需使用alloc / init:

responseData = [[NSMutableData alloc] init];

但不要忘记在dealloc中发布:

[responseData release];