摘要:
有关ARC的背景和概念不做详细说明了,简而言之,使用ARC,程序员不需要再关心对象的生命周期,编译器在编译时会聪明的补上这些代码。使用ARC的一些规则:1. 不允许调用对象的retain, release, auto-relase, retain count等方法,也不允许通过类似@selector(retain)的方法进行间接调用。2. 不允许调用对象的dealloc方法。 虽然重定义类的dealloc方法是允许的,但不能在其中调用[super dealloc]或任何成员变量的dealloc方法,只允许进行一些善后工作,比如释放某些文件资源。3. 在@property声明中,不再允许使用re 阅读全文
摘要:
成员变量须私有化,是面向对象基本思想之一。几乎每本讲到面向对象编程的书里,都会告诉读者“类的成员变量一定要定义为私有的(private)”变量私有化的好处1. 在setter中可以加入合法性检查,比如设置颜色的函数中,对于RGB颜色要判断其值在0~255之间。2. 更新与被设置变量相关的其它变量的值,比如在一个潜水艇模拟系统中,改变了其水下深度时,要相应的更新所受压强。3. 在debug时,可以在其中,尤其是在setter中加入追踪log。4. 在多线程环境中,如果要保护对象的并发访问,则必须在getter/setter中加入同步锁。所以,可以看出使用getter/setter访问私有变量是很 阅读全文