A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


Swift的确是一个很强大的语言,各种特性使用起来非常简洁强大,但是目前来说,感觉成熟度还是不够,所以商业项目中使用OC来说是比较稳健的行为。看来一下WWDC 2015的 Swift and Objective-C Interoperability session,视频前半部分主要是讲解swift和OC之间的交互的规则,后面则讲到OC的一部分新的语言特性,这几个特性,Apple的开发人员在WWDC上说的那样,对代码的可读性提升非常大,所以从swift中把这个特性引入到OC中,个人感觉也是为后续向swift的迁移提供支撑,最主要的是这些特性在iOS SDK中以及全面采用并且兼容低版本,所以可以在当前工作中引入这些特性。
Properties
使用Properties来代替实例变量有很多优势:
  • Auto synthesized getters and setters.  使用@property声明的属性能自动生成getter与setter方法。
  • Better declaration of intent of a set of methods.  比为属性声明一系列方法代码上要清晰很多。
  • Property keywords that express additional information about behavior.  Property使用其他的一些关键子可以表达一些实例变量无法表达的信息,比如 assign, weak, atomic等等。

Property方法有一个非常简明的命名规范,getter方法的名称是property的名称,setter方法的名称是在property名称之前添加set前缀(驼峰法)。通过还可以通过getter关键字指定getter的名称。
在声明一个Property的时候,需要记住下面这些不能是properties的:
  • init method
  • copy method, mutableCopy method
  • A class factory method
  • 初始化一个action并返回一个BOOL结果的方法
  • A method that explicitly changes internal state as a side effect of a getter

Enumration Marcos
使用NS_ENUM来定义枚举,使用NS_OPTIONS来定义options。这两个宏可以改善Xcode中的代码补全,明确指出枚举和options的类型和大小。

1 个回复

倒序浏览
赞赞赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马