読者です 読者をやめる 読者になる 読者になる

yoneapp@iPhoneアプリ開発

標高ワカールやニュースアプリ・スタートアップの支援を行うiOS&Railsエンジニアのブログ

Realmで空のfilter結果を得るために空のResults<T>を生成する

iOS Realm Swift

リスト的データを扱う場合に、空の状態が扱えると処理が楽になる場合があります。
空の処理結果を得るにはRealm().objects(Answer).filter("FALSEPREDICATE")のようにします。
ユースケースとしては以下の様な感じです。

func answersBy(questionElement: QuestionElement) -> Results<Answer> {

   if questionElement.id == nil { return realm.objects(Answer).filter("FALSEPREDICATE") }
   
   let predicate = NSPredicate(format: "id.double = %f", questionElement.id!)

   return answers.filter(predicate)
}

以上は、Realmのユーザーサポートで質問して回答頂いた内容をまとめたものになります。
https://realm-public.slack.com/archives/general/p1438504776000555
https://realm-public.slack.com/archives/general/p1438524675000560

ユーザサポートは、日本語で誰でもサポートして頂けるようです。
http://slack.realm.io/
https://www.facebook.com/groups/realmjp/