2 // MainTabVIewItemViewController.swift
5 // Created by Hori,Masaki on 2016/12/27.
6 // Copyright © 2016年 Hori,Masaki. All rights reserved.
17 case aircraftCarrier = 4
23 class MainTabVIewItemViewController: NSViewController {
24 let shipTypeCategories: [[Int]] = [
27 [3, 4], // leght cruiser
28 [5, 6], // heavy crusier
29 [7, 11, 16, 18], // aircraft carrier
30 [8, 9, 10, 12], // battle ship
31 [13, 14], // submarine
32 [1, 15, 17, 19, 20, 21, 22]
35 dynamic var hasShipTypeSelector: Bool { return false }
36 dynamic var selectedShipType: ShipType = .all
38 // TODO: var shipTypePredicte: NSPredicate? に変更する
39 func predicate(for shipType: ShipType) -> NSPredicate? {
43 case .destroyer, .lightCruiser, .heavyCruiser,
44 .aircraftCarrier, .battleShip, .submarine:
45 return NSPredicate(format: "master_ship.stype.id IN %@", shipTypeCategories[Int(shipType.rawValue)])
47 let omitTypes = shipTypeCategories
49 .filter { $0.offset != 0 && $0.offset != 7 }
50 .flatMap { $0.element }
51 return NSPredicate(format: "NOT master_ship.stype.id IN %@", omitTypes)