当我尝试访问 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
我一直在努力寻找解决方案,但没有运气..
我发现了一个类似的问题,但这个问题没有真正的答案
我有一种感觉 drawRect 与普通方法不同,并且没有正确获得类的范围,但是我该如何解决呢?
干杯达米安