مشكلة ذاكرة غريبة
-
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 = ... مكالمات [إصدار البيانات
أين يحدث ذلك؟
المحلول
تم حل Miskery .. إنها طريقة كبيرة إلى حد ما ، لذلك لم أدرك أن [إصدار البيانات] ؛ كان في حلقة ولم يكن تخصيصها. كان ذلك يسبب غيبوبة.
لا تنتمي إلى StackOverflow