У меня есть исходный код, чтобы получить имя файла url
например:
Я надеюсь получить a.pdf
потому что способ присоединиться к двум NSStrings, которые я могу получить, это "appendString", который только для добавления строки с правой стороны, поэтому я планировал каждый раз пометить каждый char с правой стороны строки < http://www.google.com/a.pdf ', когда он достигнет значения char'/', остановите проверку, верните строку fdp.a, после чего я изменю fdp.a на a.pdf
исходные коды ниже
-(NSMutableString *) getSubStringAfterH : originalString:(NSString *)s0
{
NSInteger i,l;
l=[s0 length];
NSMutableString *h=[[NSMutableString alloc] init];
NSMutableString *ttt=[[NSMutableString alloc] init ];
for(i=l-1;i>=0;i--) //check each char one by one from the right side of string 'http://www.google.com/a.pdf', when it reach at the char '/', stop
{
ttt=[s0 substringWithRange:NSMakeRange(i, 1)];
if([ttt isEqualToString:@"/"])
{
break;
}
else
{
[h appendString:ttt];
}
}
[ttt release];
NSMutableString *h1=[[[NSMutableString alloc] initWithFormat:@""] autorelease];
for (i=[h length]-1;i>=0;i--)
{
NSMutableString *t1=[[NSMutableString alloc] init ];
t1=[h substringWithRange:NSMakeRange(i, 1)];
[h1 appendString:t1];
[t1 release];
}
[h release];
return h1;
}
h1 может повторно использовать строку coorect a.pdf, но если она вернется к кодам, где она была вызвана, через некоторое время системные отчеты "двойной свободный *** установить точку останова в malloc_error_break для отладки
Я проверил долгое время и понял, что если я удалю код
ttt = [s0 substringWithRange: NSMakeRange (i, 1)];
все будет ОК (конечно, getSubStringAfterH не может вернуть результат корневого процесса, которого я ожидал.), сообщения об ошибках не сообщаются.
Я пытаюсь исправить ошибку несколько часов, но до сих пор не знаю.
Приветствуем любой комментарий
Спасибо interdev