5 // Created by Hori,Masaki on 2017/01/29.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 class Deck: KCManagedObject {
12 @NSManaged var flagship: NSNumber?
13 @NSManaged var id: Int
14 @NSManaged var member_id: NSNumber?
15 @NSManaged var mission_0: Int
16 @NSManaged var mission_1: Int
17 @NSManaged var mission_2: Int
18 @NSManaged var mission_3: Int
19 @NSManaged var name: String
20 @NSManaged var name_id: NSNumber?
21 @NSManaged var ship_0: Int
22 @NSManaged var ship_1: Int
23 @NSManaged var ship_2: Int
24 @NSManaged var ship_3: Int
25 @NSManaged var ship_4: Int
26 @NSManaged var ship_5: Int
30 private func shipId(ofPosition position: Int) -> Int? {
41 private func ship(ofId identifier: Int) -> Ship? {
42 guard let moc = self.managedObjectContext else { return nil }
43 let req = NSFetchRequest<Ship>(entityName: "Ship")
44 req.predicate = NSPredicate(format: "id = %ld", identifier)
45 guard let ships = try? moc.fetch(req),
46 let ship = ships.first
51 subscript(_ index: Int) -> Ship? {
52 guard let shipId = shipId(ofPosition: index) else { return nil }
53 return ship(ofId: shipId)