我有一個創建一個字符串,然後一個方法追加其他字符串到它:的Objective-C的NSString的malloc錯誤
-(NSString*)returnDetails {
NSString *details = [[NSString alloc] init];
details = [details stringByAppendingString:url];
details = [details stringByAppendingString:@" : "];
details = [details stringByAppendingString:author];
return [details autorelease];
}
而且我得到這個錯誤:
iphoneapp_1(66508,0xacd9e2c0) malloc: *** error for object 0x6b9eb80: pointer being freed was not allocated
如果我將其更改爲
NSString *details = [NSString string];
,並刪除自動釋放呼叫,然後它的作品。我只想了解爲什麼這會起作用,而我原來的方法沒有?
感謝隊友,我現在明白了:) – harrynorthover 2012-04-02 10:22:23