黑马程序员技术交流社区

标题: oc中@property与.语法混合使用应注意哪些 [打印本页]

作者: 秋天De神话    时间: 2014-4-2 17:14
标题: oc中@property与.语法混合使用应注意哪些
下午打代码时,想把二者的使用混合在一起,遇到几个问题,希望高手总结一下,提高自身能力
作者: 脸皮猴    时间: 2014-4-2 20:54
遇到什么问题可以写出来,大家一起分析学习。
作者: cnchenys    时间: 2014-4-2 21:43
点语法是针对调用setter和getter方法,@property是生成setter和getter方法.一个生成,一个调用两者混用没什么问题的.
作者: 秋天De神话    时间: 2014-4-2 21:46
脸皮猴 发表于 2014-4-2 20:54
遇到什么问题可以写出来,大家一起分析学习。

好的,不过我的电脑安装的黑苹果,网卡不能驱动,上不了网 ,等下我进苹果系统整理后再进windows系统,上网发上了
作者: 秋天De神话    时间: 2014-4-3 10:01
@interface  {}@property int _age;      @end   [p set_age:12]NSLog(@"%d",_age)
作者: 愿我能    时间: 2014-4-3 14:57
黑苹果去x淘淘个usb无线网卡就好了,我现在用的就是usb无线网卡黑苹果
作者: 于清扬    时间: 2014-4-3 17:20
@property和点语法都是编译器特性,是编译器帮我们做了些事情,提高开发人员的效率。
@property(nonatomic ,assign)int age;
nonatomic是非线程安全的,性能高,开发中一般都用这个;assign用于基本数据类型. 这句代码编译器会自动生成带下划线的成员变_age以及age 的setter和getter方法。
而点语法,例如在Person类中使用
  1. int main(int argc, char * argv[])
  2. {
  3.     Person *p = [[Person alloc] init];
  4.     p.age = 10; // 这个代码编译器会转成setter方法 [p setAge:10];
  5.     NSLog(@"%d",p.age);// 这里的p.age 编译器会转成getter方法 [p age];
  6. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2