我有一个类扩展,如下所示:
#import <Cocoa/Cocoa.h>
@interface NSBezierPath (BezierTimerExtension)
@property (strong, nonatomic) NSTimer *timer;
@property (strong, nonatomic) NSColor *color;
- (void)startTimer;
- (void)stopTimer;
@end
#import "NSBezierPathWithTimer.h"
@implementation NSBezierPath (BezierTimerExtension)
- (void)startTimer {
if (self.timer != nil) {
[self.timer fire];
}
}
- (void)stopTimer {
if (self.timer != nil) {
[self.timer invalidate];
}
}
- (NSTimer *)timer {
return self.timer;
}
- (void)setTimer:(NSTimer *)newTimer {
_timer = newTimer;
}
- (NSColor *)color {
return self.color;
}
- (void)setColor:(NSColor *)newColor {
_color = newColor;
}
@end
问题是两个人。因为Xcode说,他不知道如何处理_timer或_color。当我使用self.timer或self.color设置变量时,它将创建一个无限循环。自我&gt;计时器和自我&gt;颜色也不起作用。
如何在setter中设置属性计时器和属性颜色? 正如我现在所看到的,吸气剂也不应该起作用。但那只是同样的问题。
感谢iComputerfreak的答案