-
25-09-2019 - |
题
在某些时候我分配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的不是。这是造成僵尸。
不隶属于 StackOverflow