【好软件工程师笔记分享】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;