Objective-C 之 @property和@synthesize
我用了不到一周的时间学习了Objective-C,后面的大部分时间我都在了解如何使用IOS的SDK和一些高级的话题,到目前已经有两个多月的时间了。目前能做一些简单的应用,但是在写代码的时候明显感觉到基础不够扎实,毕竟一周的时间只能对一门语言有个概览。要想精通一门语言是远远不够的。 所以我把自己学习过程中遇到的一些问题整理在博客上,这也是一个学习理解的过程。 今天要说的内容是Objective-C 中的 @property和@synthesize。在这之前先讲讲访问器(Accessor),也就是我们所知道的setter和getter方法。《Cocoa Design Patterns》中的将它归类为基础模式中的一种。访问器是很重要的技术,用来访问和设置对象的实例变量(不是指对象本身,而是对象中的属性)。有时候可能需要用不同的方式或者通过计算等方式来获取或设置实例变量,访问器给了我们很大的灵活性。在Cocoa中访问器有很多的优点: 实现灵活性 。 可以在访问器中改变并实现不同的实例变量访问方式而不影响其他代码。 可维护性 。通过访问器对实例变量的更改易于维护。 内存管理 。访问器方法提供了简单的方法去遵守Cocoa的约定把内存管理代码隔离在少部分代码中。 支持KVC和KVO 。 KVC和KVO是很强大的技术。但是它们依赖于正确命名访问器。 下面这段代码简单的实现了一个访问器