顯示廣告
隱藏 ✕
看板 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 累積人氣: 551 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續