在某些时候我分配NSMutableData元件是这样的:

NSMutableData* data=[[NSMutableData alloc] initWithLength:0];

后来,我做的:

NSString *dataAsStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] ;
completeCommand = [NSString stringWithFormat:@"%@%@",
    incompleteMessage,
    [dataAsStr substringWithRange:NSMakeRange(startIndex, i-startIndex)]];         
[incompleteMessage release];
incompleteMessage = nil;
[dataAsStr release];

和最后我呼叫:

[data release]; //Here I get a BAD_ACCESS error since data gets a release count of -1

现在根据仪器(僵尸支持分配),第二块的NSString * dataAsString的第一行= ...呼叫[数据释放]

在哪里发生的呢?

有帮助吗?

解决方案

神秘解决.. 它是一个相当大的方法,所以我并没有意识到,[数据发布]在环流及其malloc的不是。这是造成僵尸。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top