摘要: 声明了@property并@synthesize后编译器会为你的实例变量生成getter和setter,这些方法会遵循你声明的内存管理的语义,在set的时候执行对应的操作,比如retain,copy等;但它们是方法,而不是变量,所以obj.foo = @"a"其实是一个语法糖,等同于[obj setFoo:@"a"]。在过去你还需要声明对应的实例变量,并通过@synthesize foo = _foo的方式建立和它们之间的关系,但新的Clang编译器会默认帮你加入@synthesize的步骤,默认实例变量形式为property名加下划线。但是你依然可以声 阅读全文
posted @ 2014-03-20 19:07 yulang 阅读(550) 评论(0) 推荐(0)