これは、私はその2つのクラスChild1
とChild2
と私のParent
抽象基底クラスを持っている...興味がある人のために、私がやってしまった何
です。
私はParent
エンティティを保持するためのものジェネリックUIViewController
を作成したがParentUIViewController
と呼ばれる:
var entity: String { get { return "Parent" } }
let context = (UIApplication.shared.delegate as! AppDelegate).managedObjectContext
lazy var fetchedResultsController: NSFetchedResultsController<ListObject> = {
let fetchRequest = NSFetchRequest<Parent>(entityName: self.entity)
let sort = NSSortDescriptor(key: "name", ascending: true)
fetchRequest.sortDescriptors = [sort]
let frc = NSFetchedResultsController(
fetchRequest: fetchRequest,
managedObjectContext: self.context,
sectionNameKeyPath: nil,
cacheName: nil)
frc.delegate = self
return frc
}()
override func viewDidLoad() {
super.viewDidLoad()
// do stuff with fetchedResultController
// fetchedResultsController.object(atIndex: IndexPath) has a "name" and "photo" attribute so I use them
}
は、その後、私はちょうど2つのその他UIViewController
Sを作成し、私がしなければならなかったすべては
class Child1VC: ParentUIViewController {
override var entity: String { get { return "Child1" } }
}
class Child2VC: ParentUIViewController {
override var entity: String { get { return "Child2" } }
}
ました