Задание массива animationImages с использованием UIImage, извлеченного из хранилища Core Data, вызывает сбой? - PullRequest
0 голосов
/ 03 августа 2011

Я не могу найти ни в Apple Docs, ни в Интернете, чтобы найти решение этой проблемы.

Я извлекаю изображения (все ~ 70 КБ) из хранилища Core Data, используя запрос на выборку с дескриптором сортировки, делаю изменяемую копию результата и добавляю объекты в изменяемый массив следующим образом ...

NSFetchRequest *requestA = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"YearPhoto" inManagedObjectContext:managedObjectContext];
[requestA setEntity:entity];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[requestA setSortDescriptors:sortDescriptors];
[sortDescriptor release];
[sortDescriptors release];



NSError *error = nil;
NSMutableArray *mutableFetchResultsA = [[managedObjectContext executeFetchRequest:requestA error:&error] mutableCopy];
if (mutableFetchResultsA == nil) {

}

[self setImageArray:mutableFetchResultsA];
[mutableFetchResultsA release];
[requestA release];

Затем я устанавливаюAnimationImages для этого изменяемого массива ......

 self.theImageView.animationImages = [NSMutableArray arrayWithArray:imageArray];

Я проверил, используя

NSLog(@"array's content:%@",imageArray);

Что подтверждает, что массив не является (нулевым), я получаю несколько примеров ниже, как и ожидалось ....

"<YearPhoto: 0x16d0e0> (entity: YearPhoto; id: 0x16bc10 <x-coredata://2F4DDE20-855E-484A-AC8F-9F8E60F4162E/YearPhoto/p1> ; data: <fault>)",

Когда приложение аварийно завершает работу, в этой строке кода происходит сбой ..

    self.theImageView.animationImages = [NSMutableArray arrayWithArray:imageArray];

Отладчик выбрасывает ...

2011-08-03 15:53:24.843 Year_book_app[2773:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[YearPhoto scale]: unrecognized selector sent to instance 0x190d60'

Понятия не имею, почему это не получается. Может кто-нибудь пролить свет на этот вопрос. Правильно ли я заполняю анимационные изображения?

Заранее благодарю за любую помощь !!

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

DetartrateD.

1 Ответ

0 голосов
/ 03 августа 2011

Ну, проблема в том, что вы отправляете объекты типа YearPhoto вместо UIImage. self.theImageView.animationImages принимает массив UIImages в качестве допустимого значения.

...