欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Swift3遷移至Swift4可能遇到的問題小結

 更新時間:2018年06月07日 11:30:47   作者:一蓑煙羽  
每當看到新的編程語言我總是會有相當大的興趣,所以下面這篇文章主要給大家介紹了關于Swift3遷移至Swift4可能遇到的問題,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起學習學習吧

前言

WWDC 2017 帶來了很多驚喜。Swift 4 也伴隨著 Xcode 9 測試版來到了我們的面前,很多強大的新特性非常值得我們期待在正式項目中去使用它。本文將給大家詳細介紹關于Swift3遷移至Swift4遇到的問題,下面話不多說了,來一起看看詳細的介紹吧

問題如下:

1.The use of Swift 3 @objc inference in Swift 4 mode is deprecated.警告

選擇Target->Build Settings,搜索Swift3,在Swift3 @objc Inference中,把On改為Off或者Defalut。

2.String的subString方法廢棄

在Swift3中我們想要截取字符串的話,一般是用的是:

var ctime = "2017-09-28 12:11:32.43234"
ctime = ctime.substring(to: ctime.index(ctime.startIndex, offsetBy: 19)) 

不得不說這段語句剛開始寫的時候多么的蛋疼。。。不僅難以理解,而且在Xcode8里面敲的時候,莫名的就會全部代碼高亮消失,然后提示Report Bug。

終于在Swift4中對其進行了修改,雖然個人感覺還是有點奇怪~,但是起碼好用多了??!

var ctime = "2017-09-28 12:11:32.43234"
let endIndex = ctime.index(ctime.startIndex, offsetBy: 19)
ctime = String(ctime[ctime.startIndex ..< endIndex])

但是注意SubString使用的是原來string的內(nèi)存。官方建議是短時間使用,如果想要長時間保持,需要轉為String。

為了使用起來更方便,我們可以寫一個Extension來擴展Sting:

extension String {
 subscript (start: Int, end: Int) -> String? {
  if start > count || start < 0 || start > end {
   return nil
  }
  let begin = self.index(self.startIndex, offsetBy: start)
  var terminal: Index
  if end >= count {
   terminal = self.index(self.startIndex, offsetBy: count)
  } else {
   terminal = self.index(self.startIndex, offsetBy: end)
  }
  let str = self[begin ..< terminal]
  return String(str)
 }
}

3.某些第三方庫未適配Swift4處理辦法

  • 從Profile里移除該庫
  • pod update 或 pod install
  • 檢查Target->Build Settings->Linking->Other Linker Flags中,是否移除了相應的framework

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • 如何在Swift?中使用?async?let?并發(fā)運行后臺任務

    如何在Swift?中使用?async?let?并發(fā)運行后臺任務

    Swift?異步編程是一種編寫允許某些任務并發(fā)運行而不是按順序運行的代碼的方法,這篇文章主要介紹了在Swift中使用async?let并發(fā)運行后臺任務,需要的朋友可以參考下
    2023-06-06
  • 如何利用SwiftUI實現(xiàn)可縮放的圖片預覽器

    如何利用SwiftUI實現(xiàn)可縮放的圖片預覽器

    這篇文章主要給大家介紹了關于如何利用SwiftUI實現(xiàn)可縮放圖片預覽器的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用SwiftUI具有一定的參考學習價值,需要的朋友可以參考下
    2021-09-09
  • swift3.0指紋解鎖的實現(xiàn)方法

    swift3.0指紋解鎖的實現(xiàn)方法

    這篇文章主要為大家詳細介紹了swift3.0指紋解鎖的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • swift中defer的實際應用小結

    swift中defer的實際應用小結

    這篇文章主要給大家介紹了關于swift中defer的實際應用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • EvenLoop模型在iOS的RunLoop應用示例

    EvenLoop模型在iOS的RunLoop應用示例

    這篇文章主要為大家介紹了EvenLoop模型在iOS的RunLoop應用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Swift初始化器與可選鏈的使用方法介紹

    Swift初始化器與可選鏈的使用方法介紹

    初始化器初始化是準備類、結構或枚舉的實例以供使用的過程。此過程涉及為該實例上的每個存儲屬性設置初始值,并執(zhí)行在新實例準備就緒可供使用之前所需的任何其他設置或初始化,可選鏈是一種可以請求和調(diào)用屬性、方法和子腳本的過程,用于請求或調(diào)用的目標可能為nil
    2022-08-08
  • 利用Swift如何計算文本的size示例詳解

    利用Swift如何計算文本的size示例詳解

    這篇文章主要給大家介紹了關于利用Swift如何計算文本的size的相關資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們的工作或者學習具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • 詳解Swift中的下標訪問用法

    詳解Swift中的下標訪問用法

    在Swift中我們可以用subscript函數(shù)來定義下標,從而通過下標來訪問數(shù)組與字典等數(shù)據(jù)結構,這里我們就來詳解Swift中的下標訪問用法:
    2016-07-07
  • Swift中的指針操作詳解

    Swift中的指針操作詳解

    從傳統(tǒng)的C代碼和與之無縫配合的Objective-C代碼遷移到Swift并非小工程,我們的代碼庫肯定會時不時出現(xiàn)一些和C協(xié)作的地方,如果想要繼續(xù)使用那些C API的話,了解一些基本的Swift指針操作和使用的知識會很有幫助。下面通過這篇文章一起來學習下吧。
    2017-01-01
  • Swift中swift中的switch 語句

    Swift中swift中的switch 語句

    本文給大家介紹了swift中的swift語句,以及和c語音中的寫法區(qū)別,本文介紹的非常詳細,需要的朋友參考下
    2016-12-12

最新評論