最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift data范圍截取問題解決方案

 更新時間:2023年09月28日 09:31:39   作者:鸑鷟鳳凰  
這篇文章主要介紹了Swift data范圍截取問題解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、截取字符串的幾種方法

1. 截取前幾位

mobileID.prefix(32)

2. 截取后幾位

mobileID.suffix(3)

3. subData

data.subdata(in: 0..<4)

4. 下標截取

data[0..<4]

二、subData(in:) 報錯 EXC_BREAKPOINT

原因:Data值(或一般的集合)的索引不一定是從零開始的。

這里有一段代碼

let array:[UInt8] = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06]
let data = Data(bytes: array)
//問題:請問以下六個的結果是?
data.subdata(in: 3...4).forEach{ print("a \($0)") }
data.subdata(in: 3..<3).forEach{ print("b \($0)") }
data.subdata(in: 3..<4).forEach{ print("c \($0)") }
data[3...4].forEach{ print("A \($0)") }
data[3..<3].forEach{ print("B \($0)") }
data[3..<4].forEach{ print("C \($0)") }

結果:

data.subdata(in: 3...4).forEach{ print("a \($0)") }// 報錯 Cannot convert value of type 'ClosedRange<Int>' to expected argument type 'Range<Data.Index>' (aka 'Range<Int>')
data.subdata(in: 3..<3).forEach{ print("b \($0)") }// 空值
data.subdata(in: 3..<4).forEach{ print("c \($0)") }// c 4
data[3...4].forEach{ print("A \($0)") }// A 4 A 5
data[3..<3].forEach{ print("B \($0)") }// 空
data[3..<4].forEach{ print("C \($0)") }// C 4

data.subdata(in: 3…4) 報錯原因:

此方法要求的傳值為Range<Data.Index> (Data.Index其實就是Int)

而 3…4 實際上是ClosedRange

我們知道,Swift3.0以后,Range有四種:

而這四種Range并不能在互相之間直接轉換因此 data.subdata(in: 3…4) 就會報上述錯誤

為什么下標取值既能用CountableClosedRange,也能用CountableRange?

翻閱Swift源代碼就知道原因Swift對四種Range都定義了下標取值

到此這篇關于Swift data范圍截取問題的文章就介紹到這了,更多相關Swift data范圍截取內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Swift中動態(tài)調用實例方法介紹

    Swift中動態(tài)調用實例方法介紹

    這篇文章主要介紹了Swift中動態(tài)調用實例方法介紹,在Swift中有一類很有意思的寫法,可以讓我們不直接使用實例來調用這個實例上的方法,而是通過類型取出這個類型的某個實例方法的簽名,然后再通過傳遞實例來拿到實際需要調用的方法,需要的朋友可以參考下
    2015-01-01
  • swift4.2實現新聞首頁導航

    swift4.2實現新聞首頁導航

    這篇文章主要為大家詳細介紹了swift4.2實現新聞首頁導航,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • swift 3.0 實現短信驗證碼倒計時功能

    swift 3.0 實現短信驗證碼倒計時功能

    這篇文章主要介紹了swift 3.0 實現短信驗證碼倒計時功能的相關資料,需要的朋友可以參考下
    2017-02-02
  • 詳解Swift編程中的常量和變量

    詳解Swift編程中的常量和變量

    這篇文章主要介紹了Swift編程中的常量和變量,是Swift入門學習中的基礎知識,需要的朋友可以參考下
    2015-11-11
  • 使用Swift實現iOScollectionView廣告無限滾動效果(DEMO)

    使用Swift實現iOScollectionView廣告無限滾動效果(DEMO)

    本文給大家分享使用Swift實現iOScollectionView廣告無限滾動效果(DEMO),非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • Swift初始化方法的使用介紹

    Swift初始化方法的使用介紹

    Swift有著超級嚴格的初始化方法,不僅強化了designated初始化方法的地位,所有不加修飾的init方法都需要在方法中確保非Optional的實例變量被賦值初始化,下面這篇文章主要給大家介紹了關于Swift中初始化init的相關資料,需要的朋友可以參考下。
    2022-08-08
  • swift 4自定義UITableCell的方法示例

    swift 4自定義UITableCell的方法示例

    這篇文章主要給大家介紹了關于swift 4自定義UITableCell的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • swift3.0 創(chuàng)建sqlite數據庫步驟方法

    swift3.0 創(chuàng)建sqlite數據庫步驟方法

    本篇文章主要介紹了swift3.0 創(chuàng)建sqlite數據庫步驟方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Flutter iOS開發(fā)OC混編Swift動態(tài)庫和靜態(tài)庫問題填坑

    Flutter iOS開發(fā)OC混編Swift動態(tài)庫和靜態(tài)庫問題填坑

    這篇文章主要為大家介紹了Flutter iOS OC 混編 Swift動態(tài)庫和靜態(tài)庫問題填坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • swift 字符串String的使用方法

    swift 字符串String的使用方法

    這篇文章主要介紹了swift 字符串String的使用方法的相關資料,需要的朋友可以參考下
    2017-06-06

最新評論

曲靖市| 若羌县| 伊宁市| 叙永县| 远安县| 武汉市| 辉南县| 靖江市| 吉安县| 奉贤区| 麻阳| 灵丘县| 永平县| 镇康县| 商洛市| 景洪市| 商洛市| 绥滨县| 兴国县| 碌曲县| 河曲县| 怀远县| 绥江县| 南雄市| 安庆市| 霍州市| 永清县| 大名县| 盐津县| 谢通门县| 永福县| 桃源县| 成武县| 龙南县| 左云县| 钟山县| 广昌县| 鞍山市| 广南县| 潜山县| 佛山市|