如何将 int 传递给使用 drawRect 使我成为圆弧的 UIView?
我正在尝试绘制一个圆弧,并且每秒调用 UIView 上的 setNeedsDisplay ,并将 int 提前一(秒)。当我打电话时,这似乎没有打电话并保持(空)NSLog(@"draw, %d",self.secs);
基本上我的代码日志每秒只读取“draw 1”,然后是“draw 0”。
绘制.h
@property (nonatomic) int secs;
绘图.m
@synthesize secs;
- (void)drawRect:(CGRect)rect
{
NSLog(@"draw, %d",self.secs);
//stuff with using this value
}
@end
main VC.m - NSTimer 调用它,但 tick.secs 似乎每次都是 0
draw *tick = [[draw alloc] init];
tick.secs = tick.secs+1;
NSLog(@"draw, %d",tick.secs);
[self.drawView setNeedsDisplay];
编辑1:
Stonz2 非常正确,我应该使用一个实例draw
- 这已经解决了我的一半问题。现在在我的主 VC.m 中,tick.secs
每秒都在增加,但在 draw.m 中,drawRect 仍然认为secs
每秒为 0
编辑 2:Sha 通过使用 UIView 观察我的 IBOutlet 来修复它,而不是绘制