我幾乎讀到關於涉及NSStrings的內存管理的所有問題,但我不能真正解決這個問題。內存泄漏與NSString
@interface:
@property (nonatomic, retain) NSString *criticalTranscription;
@implementation: viewDidLoad中:
criticalTranscription = [[NSString alloc] init];
NSArray *paragraphs = [doc valueForKeyPath:@"critical.text"];
for(int i = 0; i < [paragraphs count]; i++)
{
criticalTranscription = [criticalTranscription stringByAppendingString:[[paragraphs objectAtIndex:i] valueForKey:@"p"]];
criticalTranscription = [criticalTranscription stringByAppendingString:@"\n\n"];
}
[transcription setText:criticalTranscription];
@XIB 一個UISegmentedControl與IBAction爲連接至:
- (IBAction) changeText:(id)sender
{
if(transcriptionSelector.selectedSegmentIndex == 1)
[transcription setText:diplomaticTranscription];
else
[transcription setText:criticalTranscription];
}
當我改變值UISegmentControl(之後的第一件事)裝載,沒有別的運行),我遇到這個錯誤(NSZombieEnabled = YES):
2011-07-07 01:10:43.639 Transcribe[404:707] *** -[CFString length]: message sent to deallocated instance 0x1189300
我無法看到回溯任何相關信息。沒有NSZombieEnabled criticalTranscription只是指向隨機數組或其他東西。變量或任何版本沒有進一步的用法。
我跑分析沒有任何可疑的泄漏。
有什麼問題?
你在哪裏創建並設置'diplomaticTranscription'? – PengOne