nsstring是大家最常用的乙個類,幾乎人人都脫離不開,它的功能非常強大,但是它其中有點奧秘直到碰到了才發現。
正文:nsstring的api中有乙個rangeofstring:,這個也是大家常用的在字串中查詢的的api。我一般圖省事,都是用這個,很少用rangeofstring:option:
找到了!!!!!
問題解決了,但是為啥會這樣呢?
這個就得看看unicode的構成了。
unicode對於組成有兩種形式:合成形式與分解形式。
而nsstring的rangeofstring,這個api對此的支援是這樣的。rangeofstring,預設不是按照碼元來查詢的,也就是不是按照literalsearch.雖然它裡面包含":",但是,這兩個字元可以合成另乙個與其等價的字元,所以就找不到了。
合成字元有的在unicode字元表中有對應的形式,有的沒有。我舉得例子就沒有。這得根據各種字元的具體規則定義,比如字元+西里爾字母,就能組出很多種奇怪的字元。
iOS開發 常見的錯誤與警告
1.error undeclared first use in this function 還沒有定義 在此函式中第一次使用 注 使用某乙個變數時,如果使用前還沒有定義,會出現該錯誤。在oc以及c語言中,使用變數前必須先定義它。這個錯誤經常出現在忘記進行變數定義的情況下。但是,慢慢拿習慣後,這種錯誤...
IOS開發常見錯誤
1 問題表現 什麼情況?方法居然無法拉線?問題簡述 ios的空間拉線到乙個.h m檔案中 居然多次拖動無效.問題解決 ios的空間響應單單在 中建立乙個方法是沒用的,這個時候通常跟空間是沒有響應關係的 建立控制項的方式另外說 所以這個時候我們需要按住control鍵拖動一條線與對應的方法產生響應 在...
Keil常見錯誤警告
1 warning 767 d conversion from pointer to smaller integer 解釋 將指標轉換為較小的整數 影響 可能造成的影響 容易引起資料截斷,造成不必要的資料丟失。如果出現bug 很難除錯。改正 盡量避免這種轉換,避免不了要確定轉換的資料不會引起資料丟失...