2012-07-03 2 views
1

Я хочу построить строку с массивом объектовEXC_BAD_ACCESS в простом коде

for (int n=0; n<[friends count]; n++) { 
    User* friend = [friends objectAtIndex:n]; 
    if (n>=[friends count]-1) { 
     NSString* param = [NSString stringWithFormat:@"{\"target_id\":\"dummy(%d)\"}", [friend uid]]; 
     NSString* sf2 = [[NSString alloc]init]; 
     sf2= [sf stringByAppendingString:param]; 
     [sf release]; 
     sf = [[NSString alloc]initWithString:sf2]; 
     [sf2 release]; 
     [param release]; 
    }else{ 
     NSString* param = [NSString stringWithFormat:@"{\"target_id\":\"dummy(%d)\"},", [friend uid]]; 

     NSString* sf2 = [[NSString alloc]init]; 
     sf2= [sf stringByAppendingString:param]; 
     [sf release]; 
     sf = [[NSString alloc]initWithString:sf2]; 
     [sf2 release]; 
     [param release]; 
    } 

} 

Я хочу знать, что я делаю неправильно. Спасибо заранее!

+0

Вы можете сказать, где происходит ошибка? – Pfitz

ответ

1

паров являются autoreleased объекта, так что вы не должны освободить его.

Редактировать: // инициализировать sf здесь.

for (int n=0; n<[friends count]; n++) { 
    User* friend = [friends objectAtIndex:n]; 
    if (n>=[friends count]-1) { 
     NSString* param = [NSString stringWithFormat:@"{\"target_id\":\"dummy(%d)\"}", [friend uid]]; 
     sf = [sf stringByAppendingString:param]; 
    }else{ 
     NSString* param = [NSString stringWithFormat:@"{\"target_id\":\"dummy(%d)\"},", [friend uid]]; 

     sf = [sf stringByAppendingString:param]; 
    } 

} 
+0

Я использовал это и возникла ошибка –

+0

Я решил добавить [sf сохранить] в конец вашего кода. Спасибо!!!! –

+0

Если вы инициализируете sf, вам не нужно его сохранять. В любом случае я рад, что ваша проблема решена. –

0

используйте этот код .... комментарий [sf release] и [param release];

for (int n=0; n<[friends count]; n++) { 
User* friend = [friends objectAtIndex:n]; 
if (n>=[friends count]-1) { 
    NSString* param = [NSString stringWithFormat:@"{\"target_id\":\"dummy(%d)\"}", [friend uid]]; 
    NSString* sf2 = [[NSString alloc]init]; 
    sf2= [sf stringByAppendingString:param]; 
    //[sf release]; 
    sf = [[NSString alloc]initWithString:sf2]; 
    [sf2 release]; 
    //[param release]; 
}else{ 
    NSString* param = [NSString stringWithFormat:@"{\"target_id\":\"dummy(%d)\"},", [friend uid]]; 

    NSString* sf2 = [[NSString alloc]init]; 
    sf2= [sf stringByAppendingString:param]; 
    //[sf release]; 
    sf = [[NSString alloc]initWithString:sf2]; 
    [sf2 release]; 
    //[param release]; 
} 

} 

может это поможет

+0

Я прокомментировал эти строки и возникла ошибка –

+0

какой тип ошибки? – Abhishek

Смежные вопросы