Я получаю ошибку EXC_BAD_ACCESS
, когда этот код называется NSLog(@"Count: %@", [fetchedObjects count]);
. Похоже, это потому, что объекты еще не получены или что-то вроде этого, потому что fetchedObjects не nil
. Я заметил, что если я изменю count
для lastObject
это работает, и следующий печатается в консолиEXC_BAD_ACCESS при вызове count на извлеченных объектах
<Albums: 0x4dc7120> (entity: Albums; id: 0x4d9ad60 <x-coredata://xxxxxxxxxxxxxxxx/Albums/p1> ; data: <fault>)
Код
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Albums" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error = nil;
NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (error != nil) {
NSLog(@"Error: %@", error);
}
if (fetchedObjects != nil) {
NSLog(@"objects is not nil");
}
NSLog(@"Count: %@", [fetchedObjects lastObject]);
for (Albums *info in fetchedObjects) {
NSLog(@"Album: %@", info);
NSLog(@"Name: %@", info.name);
}
[fetchRequest release];
Если какой-либо из вас есть какие-либо указатели, которые были бы Великий.
Спасибо!
Update
я понял спецификатор формата должен быть или% d% я, моя ошибка. Однако я получаю ту же ошибку, когда вызываю функцию count в методе numbersOfRowsInSection.
Вы правы, однако я получаю ту же самую ошибку, когда я вызываю функцию count самостоятельно, какова будет проблема? – xidew
Пустой стек прав, вы печатаете количество извлеченных объектов, которое должно быть целочисленным значением, и вы регистрируете его с помощью% @, который для объекта, поэтому вам нужно перейти с% d для печати значения. – Sabby