Welcome to here (這個網站正在建構中)
Right (這個網站正在建構中)
Touch 記錄感動 感動記錄
(這個網站正在建構中)
|<   <   >   >|   
はるのさくら,桜花 (copyright)
Home Apple Swift程式設計
Swift2.0修訂內容說明
文章發文: Jopher   發表時間: 2016-01-29 12:30am   文章來源: 自創


2014年6月Apple正式發表Swift程式語言; 2015年12月3日,蘋果又宣布開源swift, 並支援Linux ;

Swift 被譽為有史以來最強大程式語言, 的確, 如果你有用過 Objective-C 那種獨樹一格與其它任何C++不同表達式的C++, 你就會發覺 Swift可愛又好用多了, 如果你原本又懂Java或Javascript, 那鐵定你一定更可以很快上手。

從Github網站上可以看到Swift的程式範例可說是多如鱗毛, 網路上的教學網站甚至於以免費或付費逐步階段教學還真不少, 對於有心要學習Swift學習資源是夠多了!

但是Apple在Swift上卻又搞了一個很妙也很糗的狀況, 那就是, 短短一兩年內, Swift陸續推出了三個版本, Swift1.0, 1.2, 2.0; 一般搞資訊不管軟硬體都會有一個不成文原則, 就是不同版本間應該都是要維持向下相容的, 但Apple顯然打破了這個原則, 它不打算經由系統來相容前後版本差異, 而是要程式設計師修正 或 以編譯器提示舊版正確但新版被視為錯誤的要你改, 不改還編譯不了! 好怪呀!

當然這樣做法, Apple自然大部份也有它鐵的理由, 除了功能上增加外, 主要在於 "安全" 的要求. 程式設計師對這樣的前後版本不相容除了理解尊重及無可奈何外, 最後也只能接受!

好了, 現在下載及更新後的Xcode, Swift一定是2.0, 那麼前後版本差異會造成什麼實際問題呢? 寫程式往往需要找以前範例程式碼或模組來參考或套用, 不巧的還真不少程式碼都是用 swift2.0以前版本寫的, 結果套用下來卻不能用, 實在是讓人很尷尬, 一個可能是千載難逢很好的例子, 如果你不懂得如何修改成新版要求的程式碼的話, 你的程式會變成雞肋 - 食之無味棄之可惜;

前面也提到Github是最大原始程式碼下載點, 有關眾多Swift程式範例中, 若沒有特別標識採用 swift2.0話, 99%以上的範例都是錯誤跑不動的. 而這些範例在先前都是可以編譯可以跑的. 現在針對這些問題(還真不少), 程式設計師絕對無法要求Apple去改, 而只能自己去改, 要改你總要知道錯在那,怎麼改吧!

下列是我整理的前後版本差異並佐以實例:

一. println
swift1.2以前:
println("字串")
swift2.0修正:
print("字串")
// 好怪, println改成print,有那麼嚴重錯誤嗎? 有需要前後不能相容?
二. func supportedInterfaceOrientations()
三. find()
四. sort
五. sorted
六. enumerate()
七. Printable
八. DebugPrintable
評論區公告:
敬告網友,歡迎有水準的網友在評論區自由發表各種言論(同意或反對), 但嚴禁以漫罵髒話方式留言, 違反規定者將予以停權。請大家一起維持乾淨清新的網路環境。謝謝網友的合作!
網友對此文的評論
 發表: 張三 2016-01-02 12:00
1. 版主談論中肯, 本人給予高度肯定。
2. 如果另存後變成MS-DOS程式,能否把文件後綴名改成JPG ?
3. 你可以將任何喜歡的圖片通過彩信發到手機,移動鼠標到圖片即可出現「發送至手機」字樣。
4. 鏈接如有錯誤,請報告:
5. 需要免費素材圖片資源請訪問:
6. 如果覺得我們網站不錯,請推薦給朋友,謝謝!
 發表: 李四 2016-01-02 12:00
1. 版主談論中肯, 本人給予高度肯定。
2. 如果另存後變成MS-DOS程式,能否把文件後綴名改成JPG ?
3. 你可以將任何喜歡的圖片通過彩信發到手機,移動鼠標到圖片即可出現「發送至手機」字樣。
 ▶ 更多回應       ✏ 我要回應
Copyright by Coolmeti, Best resolution: 1024,1280,1600,1920