如何利用LLVM 4的Auto Synthesize特性

从Xcode 4.4开始,默认的编译器为LLVM 4.0(Xcode 4.5 GM版本的默认编译器是LLVM 4.1)。LLVM 4.0+提供了Auto Syethesize功能,只需要声明property,在编译期由LLVM自动添加@synthesize,生成等效的代码。

Less code, less bug。懒惰一点没有坏处。那么如何利用这一特性呢?

  • 检查你的Xcode版本为4.4+(Xcode->About Xcode)
  • 检查你的编译器版本为LLVM 4.0+(Build Options->Compiler for C/C++/Objective-C)
  • 删除所有的@synethesize声明标识,重新build

有的开发者可能像我一样会遇到编译错误Use of undeclared identifier ivar, did you mean _ivar?。这是因为若LLVM 4.0之前的编译器,很多人没有使用形如@synthesize ivar=_ivar的命名习惯。LLVM 4.0+默认生成的ivar的形式是_ivar,即默认生成@synthesize ivar=_ivar

解决办法:Cmd+',之后’Enter’使用Quick Fix。

附小广告一则:唱吧iOS团队诚招iOS工程师,推荐成功即奖励6000元现金或iPhone 6一部,详见这篇blog