【好软件工程师笔记分享】Obj-c之经典[]与点语法(区别于c++)
【好程序员笔记分享】Obj-c之经典[]与点语法(区别于c++)
<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的Obj-c语言笔记,期待与您交流!
点语法:
1、为了方便别的程序员转到oc开发中来;
2、为了程序设计简单化;
3、隐藏了内存管理细节;
4、隐藏了多线程、同步、加锁细节。
[foo value]==foo.value
setter和getter函数
点语法是编译器级别
1 Dog.h 2 3 @interface Dog{ 4 int age; 5 } 6 7 -(void) setAge:(int) newAge; 8 -(int) age;
//@property int age;相当于上边的两行代码,会自动展开上边两行 9 @end 10 11 Dog.m 12 13 @implementation Dog 14 - (void) setAge:(int)newAge{ 15 age=newAge; 16 } 17 - (int) age{ 18 return age; 19 }
//@synthesize age; 会自动展开上边六行代码; 20 @end
setter函数展开(编译器做的修改):
dog.age = 200;//区别于c++ 这不是给字段赋值,age是函数
[dog setAge:200];
getter函数展开:
int dogAge = dog.age;
int dogAge = [dog age];
根据的是等号左右边 来展开
//@porperty int age;
//@synthesize age=_age;