第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取String的長度

獲取String的長度

獲取String的長度你怎么得到一個長度String?例如,我有一個變量定義如下:var test1: String = "Scott"但是,我似乎無法在字符串上找到長度方法。
查看完整描述

3 回答

?
天涯盡頭無女友

TA貢獻(xiàn)1831條經(jīng)驗 獲得超9個贊

對于Swift 2.0和3.0,請使用test1.characters.count。但是,你應(yīng)該知道一些事情。所以,請繼續(xù)閱讀。

在Swift中計算字符數(shù)

在Swift 2.0之前,它count是一個全局函數(shù)。從Swift 2.0開始,它可以被稱為成員函數(shù)。

test1.characters.count

它將返回a中的實際Unicode字符數(shù)String,因此它是最正確的替代方法,如果您打印字符串并手動計算字符,您將得到相同的結(jié)果。

但是,由于Strings在Swift中實現(xiàn)了這種方式,因此字符并不總是占用相同數(shù)量的內(nèi)存,因此請注意,這與其他語言中的常用字符數(shù)方法完全不同。

例如,您也可以使用 test1.utf16.count

但是,如下文所述,返回值不保證是相同的調(diào)用countcharacters

從語言參考:

擴(kuò)展的字形集群可以由一個或多個Unicode標(biāo)量組成。這意味著不同的字符和相同字符的不同表示可能需要不同的內(nèi)存量來存儲。因此,Swift中的字符不會在字符串表示中占用相同數(shù)量的內(nèi)存。因此,如果不迭代字符串以確定其擴(kuò)展的字形集群邊界,則無法計算字符串中的字符數(shù)。如果使用特別長的字符串值,請注意characters屬性必須遍歷整個字符串中的Unicode標(biāo)量,以確定該字符串的字符。

characters屬性返回的字符數(shù)不總是與包含相同字符的NSString的length屬性相同。NSString的長度基于字符串的UTF-16表示中的16位代碼單元的數(shù)量,而不是字符串中Unicode擴(kuò)展的字形集群的數(shù)量。

完美地說明上述情況的一個例子是檢查包含單個表情符號字符的字符串的長度,如注釋中的n00neimp0rtant所指出的。

var emoji = "?"

emoji.characters.count             //returns 1

emoji.utf16.count                  //returns 2


查看完整回答
反對 回復(fù) 2019-08-09
  • 3 回答
  • 0 關(guān)注
  • 1100 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號