だからここに問題があります。
私は文字列を持っています
Белый Клык-0.fb2
NSStringメソッドの長さは16を返します
コアデータに文字列を保存した後(バックエンド-sqlite)
NSStringメソッドの長さは17を返しますが、視覚的には文字列は同じままです
Белый Клык-0.fb2
そして明らかにメソッドisEqualToString:return NO
実験に多くの時間を費やした後、私は問題がこの手紙であることに気づきました:
й
この文字を削除すると、問題が解決します。
しかし、それは私を夢中にさせ続けています、なぜそのようなことが起こっているのですか?
ここで機能する回避策がありますが、私を満足させないでください:
- stringByReplacingPercentEscapesUsingEncoding:-データベースクエリの直後と直後に文字列を変換する必要があります
- 文字列全体を音訳する-ちょっとハック
そして、ここでdosntが機能する回避策:
- stringWithUTF8String
- エスケープされたUTF8文字を元の形式に変換する
CoreDataに保存した後に文字列で何が起こっているのかを理解するのを手伝ってください。
そして、私がしたよりエレガントな解決策はありますか?