سؤال

في مرحلة ما ، أقوم بتخصيص عنصر 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 = ... مكالمات [إصدار البيانات

أين يحدث ذلك؟

هل كانت مفيدة؟

المحلول

تم حل Miskery .. إنها طريقة كبيرة إلى حد ما ، لذلك لم أدرك أن [إصدار البيانات] ؛ كان في حلقة ولم يكن تخصيصها. كان ذلك يسبب غيبوبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top