@objc let managedObjectContext = ServerDataStore.default.context
- @IBOutlet var areaMatrix: NSMatrix!
- @IBOutlet var squadronTab: NSSegmentedControl!
- @IBOutlet var planesTable: NSTableView!
- @IBOutlet var airBaseController: NSArrayController!
+ @IBOutlet private var areaMatrix: NSMatrix!
+ @IBOutlet private var squadronTab: NSSegmentedControl!
+ @IBOutlet private var planesTable: NSTableView!
+ @IBOutlet private var airBaseController: NSArrayController!
private var contentObservation: NSKeyValueObservation?
@objc dynamic var areaId: Int = 0 {
didSet {
+
updatePredicate()
updatePlaneSegment()
}
@objc dynamic var rId: Int = 1 {
didSet {
+
updatePredicate()
updatePlaneSegment()
}
private var areas: [Int] {
- guard let content = airBaseController.content as? [AirBase] else { return [] }
+ guard let content = airBaseController.content as? [AirBase] else {
+
+ return []
+ }
return content
- .flatMap { $0.area_id }
+ .compactMap { $0.area_id }
.unique()
.sorted(by: <)
}
contentObservation = airBaseController.observe(\NSArrayController.content) { [weak self] _, _ in
- guard let `self` = self else { return }
+ guard let `self` = self else {
+
+ return
+ }
self.updateAreaRadio()
self.updatePlaneSegment()
let areas = self.areas
let currentTags = areaMatrix.cells.map { $0.tag }
- if currentTags == areas { return }
+ if currentTags == areas {
+
+ return
+ }
// 最初の設定以外でareasが空の場合は処理をしない
- if areas.isEmpty, areaId != 0 { return }
+ if areas.isEmpty, areaId != 0 {
+
+ return
+ }
let cellCount = areaMatrix.numberOfRows * areaMatrix.numberOfColumns
if areas.count != cellCount {
private func updatePlaneSegment() {
- guard let content = airBaseController.content as? [AirBase] else { return }
+ guard let content = airBaseController.content as? [AirBase] else {
+
+ return
+ }
let area = NSCountedSet()
content.forEach { area.add($0.area_id) }
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
- guard let identifier = tableColumn?.identifier else { return nil }
+ guard let identifier = tableColumn?.identifier else {
+
+ return nil
+ }
return tableView.makeView(withIdentifier: identifier, owner: nil)
}