了解しました。コードに問題が発生しています。私が行ったことは、サブクラス化されたUIButtonであるため、コードに関連する情報をさらに提供できます。私はボタンを作成することができました、そしてそれらは素晴らしい働きをします。カピシェ。
ただし、サブクラスに保持させたいものの1つは、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
ご覧のとおり、保持したいNSMangedobject(およびContext)へのインスタンス変数があります。しかし、私の一生の間、その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
そして、オブジェクトを取得するプレーヤー配列を以前に初期化しました。もう1つの奇妙なことは、コードのこの場所に到達すると、アプリがクラッシュ(woot)し、コンソールの出力が停止することです。エラーは発生せず、アプリがクラッシュしたことを通知します。それはただ...止まります。そのため、コードがクラッシュしているというエラーが何であるかさえわかりません。さらに、「player」変数を設定しているその列に関係していることもわかりません。考えやアイデア?私はあなたの知恵が大好きです!