@synthesize window=

发布时间:2024-12-21 22:33

最新推荐文章于 2021-09-22 14:27:14 发布

Mirage520 于 2012-10-30 16:45:25 发布

在32位系统中,如果类的 @interface 部分没有进行 ivar 声明,但有 @property 声明,在类的 @implementation 部分有响应的 @synthesize,则会得到类似下面的编译错误:
Synthesized property 'xX' must either be named the same as a compatible ivar or must explicitly name an ivar
在 64-bit时,运行时系统会自动给类添加 ivar,添加的 ivar 以一个下划线"_"做前缀。
上面声明部分的 @synthesize window=_window; 意思是说,window 属性为 _window 实例变量合成访问器方法。

也就是说,window属性生成存取方法是setWindow,这个setWindow方法就是_window变量的存取方法,它操作的就是_window这个变量。

下面是一个常见的例子

@interface MyClass:NSObject{

  MyObjecct *_myObject;

}

@property(nonamtic, retain) MyObjecct *myObject;

@end


@implementatin MyClass

@synthesize myObject=_myObject;


这个类中声明了一个变量_myObject,又声明了一个属性叫myObject,然后用@synthesize生成了属性myObject的存取方法,这个存取方法的名字应该是:setmyObject和getmyObject。@synthesize myObject=_myObject的含义就是属性myObject的存取方法是做用于_myObject这个变量的。这种用法在Apple的Sample Code中很常见,

参考:http://www.cocoabuilder.com/archive/cocoa/198573-property-problem.html

转帖:http://www.cnblogs.com/wwwkhd/archive/2011/08/02/2124766.html

网址:@synthesize window= https://www.yuejiaxmz.com/news/view/534790

相关内容

Android中 View not attached to window manager错误的解决办法
activity启动时的启动窗口(starting window)? 如何修改启动窗口的背景色?
vscode为什么不出独立窗口
12个windows电脑快捷键小技巧,速收藏
地铁方便嘛?购物?医院?
设计师必逛的 10 大设计灵感网站
js操作frameset frame 对象
cvWaitKey(k)的简介
窗户清洁:春季清洗的更高标准
@最美家居 的个人主页

随便看看