From 6fe70a9028ea4c4ca48ef9a7391978d3782c79e8 Mon Sep 17 00:00:00 2001 From: masakih Date: Tue, 21 Mar 2017 23:43:34 +0900 Subject: [PATCH] =?utf8?q?=E5=BC=B7=E5=88=B6=E3=82=A2=E3=83=B3=E3=83=A9?= =?utf8?q?=E3=83=83=E3=83=97=E3=81=AA=E3=81=A9=E3=82=AF=E3=83=A9=E3=83=83?= =?utf8?q?=E3=82=B7=E3=83=A5=E3=81=AE=E5=8D=B1=E9=99=BA=E6=80=A7=E3=81=8C?= =?utf8?q?=E3=81=82=E3=82=8B=E9=83=A8=E5=88=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD/BroserWindowController.swift | 5 +++-- KCD/CreateShipCommand.swift | 3 ++- KCD/FleetViewController.swift | 3 ++- KCD/HistoryWindowController.swift | 2 +- KCD/ResourceHistoryManager.swift | 2 +- KCD/ScreenshotListViewController.swift | 18 +++++++++++------- KCD/ShipDetailViewController.swift | 3 ++- 7 files changed, 22 insertions(+), 14 deletions(-) diff --git a/KCD/BroserWindowController.swift b/KCD/BroserWindowController.swift index 335ba886..7ad54f74 100644 --- a/KCD/BroserWindowController.swift +++ b/KCD/BroserWindowController.swift @@ -398,6 +398,7 @@ extension BroserWindowController { return fleetListRect } fileprivate func setFleetView(position newPosition: FleetViewPosition, animate: Bool) { + guard let window = window else { return } changeFleetViewForFleetViewPositionIfNeeded(position: newPosition) let winFrame = windowFrameForFleetViewPosition(position: newPosition) let flashRect = flashFrameForFleetViewPosition(position: newPosition) @@ -407,7 +408,7 @@ extension BroserWindowController { UserDefaults.standard.fleetViewPosition = newPosition if animate { - let winAnime: [String: Any] = [ NSViewAnimationTargetKey: window!, + let winAnime: [String: Any] = [ NSViewAnimationTargetKey: window, NSViewAnimationEndFrameKey: NSValue(rect: winFrame) ] let flashAnime: [String: Any] = [ NSViewAnimationTargetKey: gameViewController.view, NSViewAnimationEndFrameKey: NSValue(rect: flashRect) ] @@ -416,7 +417,7 @@ extension BroserWindowController { let anime = NSViewAnimation(viewAnimations: [winAnime, flashAnime, fleetAnime]) anime.start() } else { - window!.setFrame(winFrame, display: false) + window.setFrame(winFrame, display: false) gameViewController.view.frame = flashRect fleetViewController.view.frame = fleetListRect } diff --git a/KCD/CreateShipCommand.swift b/KCD/CreateShipCommand.swift index b4419f7d..0be24704 100644 --- a/KCD/CreateShipCommand.swift +++ b/KCD/CreateShipCommand.swift @@ -14,7 +14,8 @@ class CreateShipCommand: JSONCommand { return false } override func execute() { - DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) { + DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) { [weak self] in + guard let `self` = self else { return } self.afterExecute() } } diff --git a/KCD/FleetViewController.swift b/KCD/FleetViewController.swift index fb0610fb..1092bb3f 100644 --- a/KCD/FleetViewController.swift +++ b/KCD/FleetViewController.swift @@ -45,7 +45,8 @@ class FleetViewController: NSViewController { } }() details = (1...6).map { - let res = ShipDetailViewController(type: shipiewType)! + guard let res = ShipDetailViewController(type: shipiewType) + else { fatalError("Can not create ShipDetailViewController") } res.title = "\($0)" return res } diff --git a/KCD/HistoryWindowController.swift b/KCD/HistoryWindowController.swift index f30b7272..b491f8fe 100644 --- a/KCD/HistoryWindowController.swift +++ b/KCD/HistoryWindowController.swift @@ -103,6 +103,6 @@ extension HistoryWindowController { } @IBAction func selectSearchField(_ sender: AnyObject?) { - window!.makeFirstResponder(searchField!) + window?.makeFirstResponder(searchField!) } } diff --git a/KCD/ResourceHistoryManager.swift b/KCD/ResourceHistoryManager.swift index 302bbf99..295eabfe 100644 --- a/KCD/ResourceHistoryManager.swift +++ b/KCD/ResourceHistoryManager.swift @@ -62,7 +62,7 @@ class ResourceHistoryManager: NSObject { let now = Date() var nowComp = Calendar.current .dateComponents([.year, .month, .day, .hour, .minute], from: now) - var minutes: Int = (nowComp.minute! + 2) / 5 + var minutes = nowComp.minute.map { ($0 + 2) / 5 } ?? 0 minutes *= 5 nowComp.minute = minutes diff --git a/KCD/ScreenshotListViewController.swift b/KCD/ScreenshotListViewController.swift index 6893a897..d3f5021b 100644 --- a/KCD/ScreenshotListViewController.swift +++ b/KCD/ScreenshotListViewController.swift @@ -342,22 +342,26 @@ extension ScreenshotListViewController: NSTouchBarDelegate { screenshotTouchBar.defaultItemIdentifiers = identifiers if collectionVisibleDidChangeHandler == nil { - collectionVisibleDidChangeHandler = { [unowned self] visible in - guard let objects = self.arrangedInformations else { return } - guard let index = visible.first else { return } - let middle = index.item + visible.count / 2 + collectionVisibleDidChangeHandler = { [weak self] in + guard let `self` = self, + let objects = self.arrangedInformations, + let index = $0.first + else { return } + let middle = index.item + $0.count / 2 if middle < objects.count - 1 { self.scrubber.scrollItem(at: middle, to: .none) } } } if collectionSelectionDidChangeHandler == nil { - collectionSelectionDidChangeHandler = { [unowned self] index in - self.scrubber.selectedIndex = index + collectionSelectionDidChangeHandler = { [weak self] in + guard let `self` = self else { return } + self.scrubber.selectedIndex = $0 } } if reloadHandler == nil { - reloadHandler = { [unowned self] _ in + reloadHandler = { [weak self] _ in + guard let `self` = self else { return } self.scrubber.reloadData() } } diff --git a/KCD/ShipDetailViewController.swift b/KCD/ShipDetailViewController.swift index e6f4a954..c3c47e89 100644 --- a/KCD/ShipDetailViewController.swift +++ b/KCD/ShipDetailViewController.swift @@ -34,7 +34,8 @@ class ShipDetailViewController: NSViewController { .default .addObserver(forName: .DidUpdateGuardEscape, object: nil, - queue: nil) { [unowned self] _ in + queue: nil) { [weak self] _ in + guard let `self` = self else { return } self.guardEscaped = self.ship?.guardEscaped ?? false } } -- 2.11.0