J'ai lu presque toutes les questions ici sur la gestion de la mémoire qui implique NSStrings, mais je ne peux pas vraiment résoudre ce problème.Fuite de mémoire avec 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 A UISegmentedControl avec un IBAction lié à:
- (IBAction) changeText:(id)sender
{
if(transcriptionSelector.selectedSegmentIndex == 1)
[transcription setText:diplomaticTranscription];
else
[transcription setText:criticalTranscription];
}
Lorsque je change la valeur de l'UISegmentControl (première chose juste après chargement, rien d'autre court), je lance dans cette erreur (NSZombieEnabled = OUI):
2011-07-07 01:10:43.639 Transcribe[404:707] *** -[CFString length]: message sent to deallocated instance 0x1189300
Je ne vois rien pertinent dans le backtrace. Sans NSZombieEnabled criticalTranscription pointe juste vers des tableaux aléatoires ou autre chose. Il n'y a pas d'autre utilisation de la variable ou des versions.
J'ai couru analyser sans fuites suspectes.
Quel est le problème?
Où créez-vous et définissez 'diplomaticTranscription'? – PengOne