CSDN移動將持續為您優選移動開發的精華內容,共同探討移動開發的技術熱點話題,涵蓋移動應用、開發工具、移動游戲及引擎、智能硬件、物聯網等方方面面。如果您想投稿、參與內容翻譯工作,或尋求近匠報道,請發送郵件至tangxy#csdn.net(請把#改成@)。
在Xcode 6.3中,我們為Objective-C添加了新語言特性nullability注解。這個特性給Objective-C提供了表達API使用null和non-null統一的方式,相當于Swift語言中的Optional類型。Xcode 7繼續為Objective-C與Swift之間更加自然的通信引入輕量級的泛型模型。泛型使得這兩種語言能夠可靠地融合并分享帶有特定類型元素的集合。
這些特性對任何使用Swift和Objective-C這兩種語言編程的人來說都比較有用。但應用程序開發人員每天使用的Objective-C代碼占更大部分:這就是組成Apple SDK的那些框架。為了提升Swift和Objective-C的使用體驗,全公司的范圍內,我們在SDK的頭文件中都提供了這樣的信息。Xcode 7中,你會發現幾乎所有常見框架都指定了其API的nullability注解,包括其集合類型的元素。這使得Swift代碼的樣子發生了變化。
變化前:
class UIView : UIResponder { init!(frame: CGRect) var superview: UIView! { get } var subviews: [AnyObject]! { get } var window: UIWindow! { get } // ... func isDescendantOfView(view: UIView!) -> Bool func viewWithTag(tag: Int) -> UIView! // ... var constraints: [AnyObject]! { get } // ...}
變化后:
class UIView : UIResponder { init(frame: CGRect) var superview: UIView? { get } var subviews: [UIView] { get } var window: UIWindow? { get } // ... func isDescendantOfView(view: UIView) -> Bool func viewWithTag(tag: Int) -> UIView? // ... var constraints: [NSLayoutConstraint] { get } // ...}
最后一個疑問是Xcode 7中將代碼轉換成Swift 2的工具,在Xcode的Edit菜單下,Convert > To Latest Swift Syntax。通過必要的編輯,該工具會將一個使用Swift 1.2編寫的項目轉換成合法的Swift 2.0代碼。這些改變源于改進后的頭文件信息。例如,正在重寫的一個方法,其參數和結果類型更加精確,方法轉換的過程中將會被更新與之匹配。
在今年的WWDC的Swift and Objective-C Interoperability視頻14:30處,對Objective-C所作的改進做了詳盡的描述。注意,該視頻使用的是Xcode 6.3中的__nullable語法,并非更新的Xcode 7中用的_Nullable。了解更多nullability注解的信息,可以看看Nullability and Objective-C。了解Swift 2.0和Objective-C中輕量級泛型更多信息,可以看看Xcode 7 Relea Notes。
(翻譯/白云鵬 友情審校/汪洋)
譯者簡介:白云鵬,移動應用開發者,個人博客:http://baiyunpeng.com/
預告:2015中國移動開發者大會(MDCC 2015)將于10月15-16日在北京新云南皇冠假日酒店召開。大會特設五大技術專場:平臺與技術iOS、平臺與技術Android、產品與設計、游戲開發、企業移動化。此外,大會更是首次舉辦國內極具權威影響力的IoT技術峰會,特設硬件開發技術與虛擬現實兩大專場。大會將聚集國內最具實力的產品技術團隊,與開發者一道進行最前沿的探討與交流。
第一時間掌握最新移動開發相關信息和技術,請關注mobilehub公眾微信號(ID: mobilehub)。
本文發布于:2023-02-28 20:58:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167771181195014.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:swift代碼(swift代碼怎么填).doc
本文 PDF 下載地址:swift代碼(swift代碼怎么填).pdf
| 留言與評論(共有 0 條評論) |