本文由CocoaChina译者 远的风景 翻译自苹果开发者中心
原文:Swift-er SDK
苹果在Xcode 6.3中为Objective-C添加了一项新特性--Nullability Annotations,该特性为Objective-C提供了表达null和non-null API的方法,类似于Swift编程语言中的Optional类型。
通过为Objective-C引入轻量级的泛型模式,Xcode 7继续致力于让Objective-C和Swift之间的通信变得更加自然。泛型使得Objective-C和Swift之间更加安全地理解和共享包含特定类型元素的集合。
这项功能对使用Swift和Objective-C混编的APP非常有用,但是开发者每天还是使用Objective-C代码更多一点:Objective-C中的框架构成了Apple SDK。为了改善Swift和Objective-C的使用体验,我们进行了全公司范围内的努力,在SDK的头文件中都提供了这样的信息。在Xcode 7中,你会发现几乎所有常见框架现在都指定了API Nullability注释,以及其集合类型的元素。这样Swift代码界面就发生了变化:
由
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
classUIView:UIResponder{
init!(frame:CGRect)
var
superview:UIView!{get}
subviews:[AnyObject]!{get}
window:UIWindow!{get}
//...
funcisDescendantOfView(view:UIView!)->Bool
funcviewWithTag(tag:Int)->UIView!
//...
constraints:[AnyObject]!{get}
//...
}
|
更改为