@synthesize window=_window之类的写法的理解
来源:互联网 发布:centos apache启动 编辑:程序博客网 时间:2024/05/22 00:35
在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=_window之类的写法的理解
- @synthesize window=_window之类的写法的理解
- @synthesize window=_window之类的写法的理解
- @synthesize window=_window之类的写法的理解
- @synthesize window=_window之类的写法的理解
- @synthesize window=_window; 的理解
- @synthesize window=_window; 的理解
- @synthesize window=_window; 的理解
- ios5 编程关于@synthesize window = _window的理解
- @synthesize window=_window 理解
- @synthesize window=_window; 如何理解?
- @synthesize window=_window;
- _window和self.window的区别
- self.window 与 _window 的区别关系
- 有关window.undefined=window.undefined写法的理解
- @synthesize obj=_obj的理解
- @synthesize myObject=_myObject的理解
- Python浅析之类的写法
- javascript计算中文字符长度(一个中文字符相当于两个英文字符)
- WinCE KernelIoControl函数5.0和6.0的区别
- ultral edit
- Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
- 用VML标记语言画图、动画制作
- @synthesize window=_window之类的写法的理解
- spring的事务管理有几种方式实现
- 尺度不变特征变换匹配算法 SIFT算法 (一)
- 求两个整数的最大公约数和最小公倍数
- 空间三点确定圆心坐标
- 升级ubuntu
- oracle笔记大全
- Maven学习三之新建maven项目
- MS SQL 2005 四个排序函数ROW_NUMBER、RANK、DENSE_RANK 和 NTILE简介用法/结果排名排序