リビジョン | 828ad00c41c9af47c87bbbfb9d128bedb97ddd5c (tree) |
---|---|
日時 | 2018-08-14 02:04:08 |
作者 | masakih <masakih@user...> |
コミッター | masakih |
処理を分かりやすくした
@@ -53,12 +53,12 @@ final class UpgradableShipsWindowController: NSWindowController { | ||
53 | 53 | |
54 | 54 | @objc dynamic var filterPredicate: NSPredicate? { |
55 | 55 | |
56 | - var filterPredicate: NSPredicate? | |
56 | + var levelOnePredicate: NSPredicate? | |
57 | 57 | var excludeShip: NSPredicate? |
58 | 58 | |
59 | 59 | if showLevelOneShipInUpgradableList == false { |
60 | 60 | |
61 | - filterPredicate = NSPredicate(#keyPath(Ship.lv), notEqual: 1) | |
61 | + levelOnePredicate = NSPredicate(#keyPath(Ship.lv), notEqual: 1) | |
62 | 62 | } |
63 | 63 | |
64 | 64 | if showsExcludedShipInUpgradableList == false, |
@@ -67,22 +67,16 @@ final class UpgradableShipsWindowController: NSWindowController { | ||
67 | 67 | excludeShip = .not(NSPredicate(#keyPath(Ship.id), valuesIn: excludeShiIDs)) |
68 | 68 | } |
69 | 69 | |
70 | - if let filterPredicate = filterPredicate, | |
71 | - let excludeShip = excludeShip { | |
70 | + switch (levelOnePredicate, excludeShip) { | |
72 | 71 | |
73 | - return NSCompoundPredicate(andPredicateWithSubpredicates: [filterPredicate, excludeShip]) | |
74 | - } | |
75 | - | |
76 | - if let filterPredicate = filterPredicate { | |
72 | + case let (p0?, p1?): return p0.and(p1) | |
77 | 73 | |
78 | - return filterPredicate | |
79 | - } | |
80 | - if let excludeShip = excludeShip { | |
74 | + case let (p0?, _): return p0 | |
81 | 75 | |
82 | - return excludeShip | |
76 | + case let (_, p1?): return p1 | |
77 | + | |
78 | + default: return nil | |
83 | 79 | } |
84 | - | |
85 | - return nil | |
86 | 80 | } |
87 | 81 | |
88 | 82 | @objc var showLevelOneShipInUpgradableList: Bool { |