困っていること・実現したいこと
Realm内に「'」や「"」を含む文字列を格納することがあります。
filterを使いそれらを検索しようとする際、以下のような処理を記載しました。
swift
1// 検索に使用する文字列をRealmから取得 2let dogInfo = realm.object(ofType: dogInfo.self, forPrimaryKey: primaryKey) 3 4// 文字列で検索条件を指定 5if let dogList = dogInfo.realmLists.filter("color= '(self.dogColor)' AND ID = '(self.dogID)'").first { 6後続処理・・・ 7}
例えばdogIDの中に'や"が入っていた際、filterでの検索条件の文字列リテラルの中に意図しない'や"が混入することになり、"Unable to parse the format string"というエラーが発生します。
※イメージ
colorが「red」、dogIDが「ab"c」の場合、
検索条件が「"color= 'red' AND ID = 'ab"c'"」となり、"の対応が壊れる。
試したこと
Realmから文字列を取り出した際に、'や"が含まれていた場合は'、"に置換してから検索を行う処理を考えていますが、よりスマートな方法があればご教示いただきたいです。
よろしくお願いします。
補足情報
Xcode Version 12.0
Swift 5.3
回答1件
あなたの回答
tips
プレビュー