我几乎读到关于涉及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