CoreData再学習_Appleのサンプルを読む_TaggedLocations

CoreDataがなかなか身に付かないので改めてAppleのサンプルコードを読んでます。
今回はTaggedLocationsを読んだので、気付いた事やクラスの依存関係をメモします。


・どんなサンプル?
イベントとタグを位置情報を紐づけて登録できるアプリです。


・何が学べる?
多対多の関連と削除ルール等が学べます。
特にあるタグを削除した時に、そのタグを参照していたイベントがどうなるか..
こういった所は動かしてみると分かりやすいです。


・クラスの依存関係は?
以下ざっくりとした依存関係です。相互参照はEventとTag以外ない感じですが、
手書きなのでミスっているかもです。



・モデルファイルは?
以下はxcdatamodeldの状態

・折角なので試した方が良さそうなこと
削除ルールがNullifyなのでDenyに変更して挙動を確認する。
同じくCascadeに変更して挙動を確認する。


以下はサンプルならではの問題等
・APLAppDelegateにCoreDataスタックを生成するコードが丸々ある。
=>CoreDataManagerを作って移動


・TableViewControllerがでかい
=>フェッチ、位置情報取得、データアクセス等はラッパーを経由して取得、委譲


・Cellのパターンが増えた時に困るかも。
=>TableViewCellFactory等を作りそこから生成