覆盖类类别中的setter

时间:2014-06-15 16:01:16

标签: objective-c properties setter getter objective-c-category

我有一个类扩展,如下所示:

#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的答案

0 个答案:

没有答案