注:下面關於characters的介紹在swift 3.2之後廢棄了。String可直接使用characters 的方法。html
這一節主要是講字符串String底層的東西
咱們先明白幾個知識點:git
####知識點1:swift中String 是一個結構體 咱們主要使用String.Characters, 它是Character
的集合,有着相似Array的特性。 ####知識點2:Unicode擁有可變長度
的特性 :緣由是不一樣語言的字符存放字節數不一樣,若都統一長度,效率過低
github
字符串的展現Demo 關於é
咱們能夠用兩種Unicode
的方式表示字符é
swift
strA.utf8.elementsEqual(strB.utf8)//false
複製代碼
效率高不少
。具體的數據比較這裏沒有作。 不過書上在快不少後面打了個感嘆號。那應該的確是快不少。😄app
編碼點
組合在一塊兒能夠組成單個字符蔟(這個就比較偏字符生成的底層了 大概有個印象就行, 之後有須要了能夠看看相關文章)蘋果官方Characters and Grapheme Clusters 文檔ui
標準等價
」國際化
的同窗們。OC字符串的比較更推薦用compare方法, isEqual方法用上面的不一樣生成方法比較就會獲得false的結果。demo以下。編碼