(原)OC思考
2013-11-01 20:44
190 查看
为什么要有属性?是为了实例变量的安全性和可再分类性
1. 如果我们允许别人生成子类,他们想要清楚我们的实例变量,我们就会对其进行干涉,所以如果他们将实例变量设置成其他东西,我们可能会想要检查一下,确保我们不会造成干扰,保障了我们的安全
2.提供类似阀门的东西,通过它可以延迟实例化
我们通常不会直接访问实例变量
必须要有实例变量来支持属性吗?
不必要。
如何能有一个不带有实例变量的属性呢?
不用@synthesize
不含属性的实例变量吗?
可以,但是不要想这个问题。最好是一想到实例变量,就会想到使用属性
strong & weak
strong:将指针指的对象保留在堆中,而不将它的内存释放,我不再指向的方法就是将指针设为nil,或者我从堆中出来。
weak:至少一个人用强指针指向它,就将这个内存保存在堆内,如果没人指向它,就将它扔出堆外,将指向它的指针设为nil
weak 只在iOS5中应用程序运行时起作用
几乎没有C结构体在堆中,一般都放在栈上。所以CGPoint 不需要用指针指向
实例方法:发送给对象
类方法:发送给类
self跟super 实例方法跟类方法有所不同
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class
1.你的量有多少(问对象)
2.如果我有你,那么它的量有多少。(问类)
1. 如果我们允许别人生成子类,他们想要清楚我们的实例变量,我们就会对其进行干涉,所以如果他们将实例变量设置成其他东西,我们可能会想要检查一下,确保我们不会造成干扰,保障了我们的安全
2.提供类似阀门的东西,通过它可以延迟实例化
我们通常不会直接访问实例变量
必须要有实例变量来支持属性吗?
不必要。
如何能有一个不带有实例变量的属性呢?
不用@synthesize
不含属性的实例变量吗?
可以,但是不要想这个问题。最好是一想到实例变量,就会想到使用属性
strong & weak
strong:将指针指的对象保留在堆中,而不将它的内存释放,我不再指向的方法就是将指针设为nil,或者我从堆中出来。
weak:至少一个人用强指针指向它,就将这个内存保存在堆内,如果没人指向它,就将它扔出堆外,将指向它的指针设为nil
weak 只在iOS5中应用程序运行时起作用
几乎没有C结构体在堆中,一般都放在栈上。所以CGPoint 不需要用指针指向
实例方法:发送给对象
类方法:发送给类
self跟super 实例方法跟类方法有所不同
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class
1.你的量有多少(问对象)
2.如果我有你,那么它的量有多少。(问类)
相关文章推荐
- oc数组问题小思考
- iOS objective-C retainCount, OC计数器的思考
- oc之id 总结思考
- Objective-C:OC内部可变对象和不可变对象的深(复制)拷贝问题思考:
- 黑马程序员--有关OC内存管路set方法的思考
- iOS objective-C retainCount, OC计数器的思考
- [BS-21] 关于OC中对象与指针的思考
- 关于OC的property 和 实例变量思考
- 多线程的一点思考
- iphone开发OC语言的NSString与int和float的相互转换
- oc-Foundation框架-NSString-常用方法
- OC基础
- OC - Menory(High)
- IOS开发学习之OC的消息机制。
- VXXEncryption-各种平台加密解密算法汇总,支持多种语言java,oc,c(正在更新...)
- 2015.07.23 基恩士的管理技巧思考
- 后工业时代的后规范思考
- 转:斯托克代尔悖论与底线思考法
- 看完后,思考30秒,相信你一定会有改变!
- 关于目前开发的app中网络数据请求架构的一点思考