欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

Swift

當(dāng)前位置:主頁 > 軟件編程 > Swift >

Swift3遷移至Swift4可能遇到的問題小結(jié)

來源:本站原創(chuàng)|時間:2020-01-11|欄目:Swift|點擊: 次

前言

WWDC 2017 帶來了很多驚喜。Swift 4 也伴隨著 Xcode 9 測試版來到了我們的面前,很多強大的新特性非常值得我們期待在正式項目中去使用它。本文將給大家詳細介紹關(guān)于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中對其進行了修改,雖然個人感覺還是有點奇怪~,但是起碼好用多了?。?/p>

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)存。官方建議是短時間使用,如果想要長時間保持,需要轉(zhuǎn)為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中,是否移除了相應(yīng)的framework

總結(jié)

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

上一篇:Swift如何在應(yīng)用中添加圖標(biāo)更換功能的方法

欄    目:Swift

下一篇:Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)詳解

本文標(biāo)題:Swift3遷移至Swift4可能遇到的問題小結(jié)

本文地址:http://mengdiqiu.com.cn/a1/Swift/11949.html

您可能感興趣的文章

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有