重点掌握:
1.结构只有实例变量
2.类有下列成员:实例变量是对内的,反映内部状态,属性是对外的。属性表达的是实例状态。对于一个属性,编译器会自动生成三样东西;
1.实例变量(属性名字前面加下划线) 2.get访问器方法 3.set访问器方法。类外不能访问实例变量。访问器方法可以自定义。
3.@property 是声明属性的语法 :1. @property NSString* firstName;
上一行代码会生成firstName属性,同时默认会生成一个实例变量_firstName,以及它的存取器getter、setter方法。
4.也可以给类型定义属性,用全局静态变量。模拟出来类型属性。
5.理解使用属性和实例变量的时机。类外一律使用属性。类的实例变量是私有的只能在类内访问。访问属性推荐用self.(原因和内存管理有关)值类型的(无属性封装)用实例变量访问,能用属性就用属性。
6.以下要注意:
实例变量无内存管理的考虑。循环引用会造成内存泄漏。弱引用(weak)ARC不做内存计数。弱引用的用处,阻止循环引用。
7.注意一般不存在类型属性,但是可以使用静态全局变量+类方法,模拟类属性。比较不常用。
【极客班】属性和实例变量
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 苹果官方文档翻译 《Objective-C语言编程》(Programming with Objective-C) ...
- Swift语法基础(五)-- (类和结构体、属性、方法) 本章将会介绍 类和结构体对比结构体和枚举是值类型类是引用...