Я использую эту функцию, чтобы извлечь подстроку, он работает, но есть две утечек:SubstringToIndex утечки памяти
-(NSString*)EstraiP:(NSString*)str ini:(NSString*)ini fin:(NSString*)fin occ:(int)occ{
NSRange rstr1;
for(int i=0; i < occ; i++){
rstr1=[str rangeOfString:fin];
str=[str substringFromIndex:rstr1.location+rstr1.length];
}
NSString* FinalStr;
rstr1=[str rangeOfString:ini];
if(occ==0){
if(rstr1.length==0)
return @"Non Trovato inizio";
FinalStr=[str substringFromIndex:(rstr1.location + rstr1.length)] ;
}else{
if(rstr1.length==0)
return @"Non Trovato inizio";
FinalStr=[str substringFromIndex:rstr1.location+rstr1.length] ;
}
NSRange rstr2=[FinalStr rangeOfString:fin];
if(rstr2.length==0)
return @"Non Trovata fine";
FinalStr=[FinalStr substringToIndex:rstr2.location];
return FinalStr;
}
Это к линиям произойти утечку часть памяти:
str=[str substringFromIndex:rstr1.location+rstr1.length];
FinalStr=[FinalStr substringToIndex:rstr2.location];
я посмотрел вокруг, но ничего не нашел .... Нет никакого выделения или сохранения, поэтому я не должен их выпускать ... что может быть проблемой? Надеюсь, я сам объяснил
Спасибо!
Что вам сказал, что здесь есть утечки? –
Если вы хотите, чтобы подстрока не существовала, используйте 'rstr1.location == NSNotFound'. – kennytm