Вот сообщение об ошибке я получаю:данных Форматтеры временно недоступен, будет вновь попробовать после «продолжить»
ContactsWithPN - start loop
Program received signal: “0”.
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib")
Вот код, который вызывает эту проблему:
+(NSArray *) contactsWithPhoneNumbers{
NSArray *contacts = [ABContactsHelper contacts];
NSMutableArray *rv = [[NSMutableArray alloc] init];
NSLog(@"ContactsWithPN - start loop");
for (int i = 0; i< [contacts count] ; i++) {
ABContact * c = (ABContact*)[contacts objectAtIndex:i];
ABContact * fullContact = [ABContact contactWithRecordID:[c recordID]];
if ([[fullContact phoneArray] count] > 0) {
[rv addObject:fullContact];
}
}
NSLog(@"ContactsWithPN - end loop");
NSArray *ret = [[NSArray alloc] initWithArray:rv];
return ret;
}
В View Controller, который вызывает упомянутый метод класса, я добавил следующий код, чтобы увидеть, были ли отправлены предупреждения памяти. Они не!
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
NSLog(@"InviteFriends - memory warning received");
}
Наблюдение: + Найдено, что ошибка возникает в разные моменты времени - иногда по индексу 253, другой раз в 246 .. + только происходит на IPhone - не тренажер (на тренажере, есть < 5 контактов) s
Вот и все, спасибо. Я не знал о «Телефонной консоли». И мне еще предстоит узнать об управлении памятью в Obj C. Когда я открыл телефонную консоль и выполнил эту часть кода - сообщения были очень ясными, то есть - предупреждения памяти в изобилии. – amehta
Я должен добавить, однако, что просто добавив NSAutoreleasePool в цикле, предупреждения о памяти или окончательная ошибка не исчезли. Все еще работаю над этим прямо сейчас. – amehta
На догадку вы можете попробовать сделать «[rv addObject: c]» вместо добавления «fullContact». Я не уверен, что ABRecords делает какие-либо кеширования, но если они это сделают, кешированный список номера всех телефонов может быть довольно большим ... –