Не выпускать NSMutableString - PullRequest
       3

Не выпускать NSMutableString

0 голосов
/ 27 декабря 2011

Я начал разработку проекта в ios-5, я создал базу данных в своем приложении.Здесь я создаю bdgDBArr в appDelegate, который содержит значения наподобие 93,55,68,95,45 ... Я хочу создать строку наподобие badge_id = @ "93,55,68,95,45" здесь appDelegate.sb равен NSStringtype и sb1 NSMutableString type

Это мой код

NSMutableString *sb1 = [[NSMutableString alloc] init];

if (![appDelegate.bdgDBArr count]==0) {
    for (int i=0; i < [appDelegate.bdgDBArr count]; i++)  { 
        if (!i==0) {
             [sb1 appendString:@","];
        }
        [sb1 appendString:[[appDelegate.bdgDBArr objectAtIndex:i] valueForKey:@"key1"]];
    }
}
else {
    [sb1 appendString:@""];
}

appDelegate.sb = sb1;
NSLog(@"appDelegate.sb  showSB===%@",appDelegate.sb);
[sb1 release];  //error wait_fences: failed to receive reply: 10004003
sb1 = nil;

Этот код работает отлично и получает вывод 93,55,68,45, но в то же время я получилэта ошибка в NSLog

wait_fences: failed to receive reply: 10004003

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Я не могу помочь с вашей проблемой, но вы можете - и должны - сократить ваш код до однострочного: appDelegate.sb = [appDelegate.bdgDBArr componentsJoinedByString:@","];, который гораздо более выразителен и делает правильные вещи.

И хотямы находимся здесь:
Objective-C позволяет довольно легко писать код, который можно читать как прозу.Не ломайте это, используя имена членов / переменных, такие как sb или bdgDBArr.

Oh, и есть оператор для проверки на неравенство: != используйте это вместо отрицания результата равенстватестовое задание.Ваша будущая личность и все, кто смотрит на ваш код, будут благодарны.

0 голосов
/ 27 декабря 2011

просто попробуйте: используйте autorelease вместо release. это что-то меняет?

используется ли ваше свойство appDelegate.sb в делегате приложения с установщиком / получателем @syntetise, или вы использовали собственный код для установщика? в этом случае напишите свой код, пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...