Хорошо, поэтому я столкнулся с проблемой с моим кодом. То, что я сделал, это подкласс UIButton, так что я могу дать ему больше информации, которая относится к моему коду. Мне удалось создать кнопки, и они прекрасно работают. Capiche.
Однако одна из вещей, которые я хочу сохранить в своем подклассе, - это ссылка на NSMangedObject. У меня есть этот код в моем заголовочном файле:
@interface ButtonSubclass : UIButton {
NSManagedObjectContext *context;
NSManagedObject *player;
}
@property (nonatomic, retain) NSManagedObject *player;
@property (nonatomic, retain) NSManagedObjectContext *context;
- (id)initWithFrame:(CGRect)frame andTitle:(NSString*)title;
//- (void)setPlayer:(NSManagedObject *)aPlayer;
@end
Как видите, у него есть переменная экземпляра для объекта NSManged, который я хочу сохранить (а также контекст). Но ради жизни я не могу заставить его удерживать этот NSManagedObject. Я запускаю оба метода @synthesize в файле реализации.
@synthesize context;
@synthesize player;
Так что я не уверен, что делаю не так. Вот как я создаю свою кнопку:
ButtonSubclass *playerButton = [[ButtonSubclass alloc] initWithFrame:frame andTitle:@"20"]; //works
playerButton.context = self.context; //works
playerButton.player = [players objectAtIndex:i]; //FAILS
И я ранее инициализировал массив игроков, где я получаю объекты. Еще одна странная вещь заключается в том, что когда приложение попадает в эту точку кода, происходит сбой приложения (woot) и вывод на консоль останавливается . Это не дает мне никакой ошибки, и уведомление вообще, что приложение упало. Это просто ... останавливается. Так что я даже не знаю, в чем заключается ошибка, которая приводит к сбою кода, кроме того, это связано с тем, что строка устанавливает переменную «player». Мысли и идеи? Я буду рад вашей мудрости!