Играл с инструментами, но без особого успеха в выяснении, как решить эту утечку памяти.
Во-первых, код:
-(NSString *) randomizeHint:(NSString *) wordToShuffle{
NSMutableString * outputstring = [NSMutableString stringWithCapacity:[wordToShuffle length]];
NSMutableSet * usedNumberSet = [NSMutableSet setWithCapacity:[wordToShuffle length]];
for (int i=0; i<[wordToShuffle length]; i++) {
int randomnum = arc4random()%[wordToShuffle length];
while ([usedNumberSet containsObject:[NSNumber numberWithInt:randomnum]]==YES) {
randomnum = arc4random()%[wordToShuffle length];
}
[usedNumberSet addObject:[NSNumber numberWithInt:randomnum]];
[outputstring appendFormat:@"%c",[wordToShuffle characterAtIndex:randomnum]];
}
CCLOG(@"outputstring is:%@",outputstring);
return outputstring;
}
Инструменты дают мне следующее:
Leaked Object = NSCFString, Responsible Library = Foundation, Responsible Frame = -[NSPlaceholderMutableString initWithCapacity:]
Любые идеи?
Заранее спасибо.
NSMutableString
выпускается автоматически. Вы уверены, что эта утечка происходит в приведенном выше коде? - person Inder Kumar Rathore   schedule 16.07.2012return [outputstring copy]
? - person ZhangChn   schedule 16.07.2012