Propertyの条件式の書き方。Propertyの条件式の書き方。Property(以下、フェッチドプロパティ)のデータモデルインスペクタの設定について説明する。フェッチドプロパティの使い方については次の記事を参照されたし。⇒「記事」フェッチドプロパティの設定画面を開くには、下図赤枠の「プロジェクト名.xcdatamodeld」を選択、黄緑枠のエンティティの中からフェッチドプロパティを持つエンティティを選択、水色枠内のフェッチドプロパティを選択、紫枠のデータモデルインスペクタボタンを押す。設定項目を1つずつ確認する。Nameフェッチドプロパティの名前。ソースコードからフェッチドプロパティにアクセスするための識別子になる。前回記事では以下のメソッドを用いてフェッチドプロパティにアクセスした。Swift//著者オブジェクトから出版物を取得する。[Book]123//著者オブジェクトから出版物を取得する。[Book]しかし、自動生成されないからといってサブクラスにプロパティを持たせることができないというわけではなく、以下コードのように、自分でフェッチドプロパティを追記すれば使えるようになる。サブクラスを作り直すと追記したコードが消えるので、作り直すたびにフェッチドプロパティを追記することを忘れずに。//追記}Destinationフェッチ先のエンティティを指定する。フェッチ元とフェッチ先のエンティティを同じにすることもできる。Predicateフェッチするときの条件式を記述する。フェッチリクエストと同じ演算子が使える。プレースホルダーは使えない。■500円以上の本をフェッチする。500■200円から500円の本をフェッチする。{200,500}■書籍名に「テスト」を含む本をフェッチする。“テスト"■500円以上かつ書籍名に「テスト」を含む本をフェッチする。フェッチ元のフェッチプロパティ■フェッチ先の著者名がフェッチ元の名前と同じものをフェッチする。$FETCH_SOURCE.name■フェッチ元とフェッチ先のオブジェクトが異なるものをフェッチする。Info$FETCHED_PROPERTYはフェッチドプロパティそのものなので、このままでは比較しようがない。Infoに値を設定し、その値を比較する使い道が考えられる。Infoにkey「lowerLimit」、Value「300」の行を追加し、Predicateに「$FETCHED_PROPERTY.userInfo.lowerLimit」を入力する。このフェッチドプロパティは価格が300円以上の本をフェッチするということだ。Infoの値を取得したり、変更したりするには以下のようにする。Swift//Authorオブジェクトを取得する。//publicationプロパティのDescriptionを取得する。Infoに設定されているKey「lowerLimit」の値を設定する。//Key「lowerLimit」の値を変更する。250123456789101112131415//Authorオブジェクトを取得する。[Author]//publicationプロパティのDescriptionを取得する。Infoに設定されているKey「lowerLimit」の値を設定する。description!.userInfo!["lowerLimit"]print(value)//Key「lowerLimit」の値を変更する。異なる管理オブジェクトコンテキストで保存したデータをリレーションシップに設定する。Propertyを使ってプロパティにフェッチ結果を持たせる。エンティティを継承させて属性のメンテナンスをしやすくする。