如何使用getter和setter启动和停止功能?

时间:2012-06-15 06:03:08

标签: ios xcode

在.h文件中

@interface ViewController : UIViewController {
            @private int intVariable1;
    }
    @property (readwrite,assign) int iVar;

    -(void)Callme;
    @end

在.m文件中

@implementation ViewController
@synthesize iVar=intVariable1;

-(void)Callme
{
        NSLog(@”Callme called”);
}

-(void)setIVar:(int)inIVar
{
        intVariable1 = inIVar;
        [self Callme];
}
@end

我已经实现了这个代码,当变量状态发生变化时调用“Callme”函数,但是当我在viewDid中调用函数setIVar加载它不起作用时,有什么想法调用它吗? 以前我打电话的方式

[self setIVar:3];

1 个答案:

答案 0 :(得分:0)

如果您想为getter / setter函数提供自己的实现请不要在您的实现中使用@synthesize指令!这将生成自己的-(void)setIVar:(int)inIVar-(int)iVar方法,这些方法可能会隐藏您的版本。反过来,如果你想要一个readwrite属性,你还必须实现getter,即-(int)iVar

从您的实施中简单删除@synthesize iVar=intVariable1;行,并将工具-(int)iVar