CoreData再学習_Appleのサンプルを読む_TaggedLocations
CoreDataがなかなか身に付かないので改めてAppleのサンプルコードを読んでます。
今回はTaggedLocationsを読んだので、気付いた事やクラスの依存関係をメモします。
・どんなサンプル?
イベントとタグを位置情報を紐づけて登録できるアプリです。
・何が学べる?
多対多の関連と削除ルール等が学べます。
特にあるタグを削除した時に、そのタグを参照していたイベントがどうなるか..
こういった所は動かしてみると分かりやすいです。
・クラスの依存関係は?
以下ざっくりとした依存関係です。相互参照はEventとTag以外ない感じですが、
手書きなのでミスっているかもです。
・モデルファイルは?
以下はxcdatamodeldの状態
・折角なので試した方が良さそうなこと
削除ルールがNullifyなのでDenyに変更して挙動を確認する。
同じくCascadeに変更して挙動を確認する。
以下はサンプルならではの問題等
・APLAppDelegateにCoreDataスタックを生成するコードが丸々ある。
=>CoreDataManagerを作って移動
・TableViewControllerがでかい
=>フェッチ、位置情報取得、データアクセス等はラッパーを経由して取得、委譲
・Cellのパターンが増えた時に困るかも。
=>TableViewCellFactory等を作りそこから生成