顯示廣告
隱藏 ✕
Disp BBS guest 註冊 登入(i) 線上人數: 82
看板 KnucklesNote
作者 Knuckles (站長 那克斯)
標題 [Xcode][Swift4] 更新為 Xcode 9 後出現的警告
時間 2018-08-18 Sat. 00:22:08


● 'characters' is deprecated

在 Swift 3 要取得字串長度時,是用
myString.characters.count

但更新為 Xcode 9 後支援 Swift 4,執行後會出現警告:
Swift Compiler Warning
    'characters' is deprecated: Please use String or Substring directly

Swift 4 的字串可以直接用 .count 取得字串長度了,所以只要把 .characters 去掉即可:
myString.count

同樣的其他在 characters 下的成員,像是 .first .index
現在都可以直接在字串下取用了


在函式庫 Pods/Alamofire/Request.swift 裡也有用到 characters
要修改前 Xcode 會說這個檔案是 lock 的,要先 unlock 嗎,點 unlock 即可
(不要在 Finder 中再改回鎖定,不然 pod update 會無法存取)


● Validate Project Setting

點一下主 project 的 Update to recommended settings
[圖]

在點「Perform Changes」前最好先 commit 一下專案
點了「Perform Changes」後再執行看看有沒有多警告出來

沒有的話對 Pods Project 也執行 Update to recommended settings


● Swift Conversion

要自動將程式轉成 Swift 4 之前先 Commit

點一下 Conversion to Swift 4 is available
[圖]


Swift 4 @objc Inference: 選 Minimize Inference (recommended)
[圖]




--
※ 作者: Knuckles 時間: 2018-08-18 00:22:08
※ 編輯: Knuckles 時間: 2018-08-18 02:29:27
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 544 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇