在.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];
答案 0 :(得分:0)
如果您想为getter / setter函数提供自己的实现请不要在您的实现中使用@synthesize
指令!这将生成自己的-(void)setIVar:(int)inIVar
和-(int)iVar
方法,这些方法可能会隐藏您的版本。反过来,如果你想要一个readwrite
属性,你还必须实现getter,即-(int)iVar
。
从您的实施中简单删除@synthesize iVar=intVariable1;
行,并将工具-(int)iVar
。