Я создал метод категории NSScanner, который показывает утечку в инструментах.Утечка в методе категории NSScanner
- (BOOL)scanBetweenPrefix:(NSString *)prefix
andSuffix:(NSString *)suffix
intoString:(NSString **)value
{
NSCharacterSet *charactersToBeSkipped = [self charactersToBeSkipped];
[self setCharactersToBeSkipped:nil];
BOOL result = NO;
// find the prefix; the scanString method below fails if you don't do this
if (![self scanUpToString:prefix intoString:nil])
{
MY_LOG(@"Prefix %@ is missing.", prefix);
return result;
}
//scan the prefix and discard
[self scanString:prefix intoString:nil];
// scan the important part and save it
if ([self scanUpToString:suffix intoString:value]) // this line leaks
{
result = YES;
}
[self setCharactersToBeSkipped:charactersToBeSkipped];
return result;
}
Я полагаю, что я передаю значение методу/из метода, но я не уверен. Это небольшая утечка (32 байта), но я бы хотел сделать это правильно, если смогу. Заранее спасибо.
Как вы назвали этот метод? Как вы подготовили '(NSString **) значение', когда вы его вызвали? – Yuji
Yuji, спасибо за ответ. Я не могу форматировать код в комментарии, так что см. Мой ответ ниже. – jluckyiv