У меня есть исходный код, чтобы получить имя файла 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