Object C 语法要点
1 类的语法
1.1 .h文件,类成员的说明,像变量,方法,属性。
1.2 .m文件,类的实现。
2 消息传递
在Object-c中 使用消息传递
取代了其他语言的函数调用
发送消息给对象,像下面的形式
[object methodWithArgument:@"hey" andArgument:@"ho"]
Object-C 函数的声明形式
3 属性
面向对象的封装特性,成员变量被隐藏起来,不能被外边访问。通常需要生成getter/setter方法。
假设有很多变量 就会有2倍变量方法。。比较恐怖呀。
属性的声明自动声明了getter/setter方法
声明属性是以 自动建立的实例变量(ivar),作为后台支撑。
3.1 属性声明形式
3.2 读写属性的设置
Readonly 只有getter方法产生
readwrite 缺省的形式,关键词之间互斥
3.3 内存的属性的设置
strong 告诉内存管理器,属性后台的的实例变量,对对象持有强引用,换句话说,这个setter确保在内存强引用对象实例,到实例消亡为止。
weak 一位着属性没有变为对象的拥有者,只是引用而已。如果对象的引用计数变为0,即使weak还指向他,对象也会从内存中移除。
copy 当指向的变量是多变,然而不想被其他的拥有者的改变,而受到影响。
assign 基本用时基本对象 像ingerger floats,boolean,没有copied he retained
3.4 自定义Accessors
通过setter和getter关键字,我可以自定义方法
getter=getterMethod
setter=setterMethod
3.5 原子操作
atomic 提供线程之间的存取安全
nonatomic 不提供线程之间的安全,但是读写速度更快。