drawRect メソッドでクラス変数またはプロパティにアクセスしようとすると、奇妙な動作が見られます。
私の .h ファイルには次のものがあります
@interface DartBoard : UIView
{
Board * board;
int index;
}
@property (readwrite, assign, nonatomic) NSNumber * selectedIndex;
@end
私の.mファイルには次のものがあります
@implementation DartBoard
@synthesize selectedIndex;
-(id)init
{
self.selectedIndex = [NSNumber numberWithInt:5];
index = 123;
return self;
}
- (void)drawRect:(CGRect)rect {
NSLog(@"selectedIndex: %d",[self.selectedIndex intValue]);
NSLog(@"index: %d",index);
}
@end
出力は
2012-06-12 19:48:42.579 App [3690:707] selectedIndex: 0
2012-06-12 19:48:42.580 App [3690:707] index: 0
私は解決策を見つけようとしてきましたが、運がありませんでした..
同様の質問を見つけましたが、問題に対する本当の答えはありませんでした
参照: UIView drawRect; スコープ外のクラス変数
drawRect は通常のメソッドとは異なり、クラスのスコープを正しく取得していないと感じていますが、どうすれば修正できますか?
乾杯ダミアン