From 8c7ec72780d913a975ea85b568887e0a6e472843 Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Wed, 15 Jun 2022 18:38:46 +0000 Subject: [PATCH] [iOS] Fix race in UI FossilOrigin-Name: 18ce2e80c83083528be618b27b6b1c5bcb2a770d5d727d44fffc847cfa7491c1 --- iOS/ShowDetailsController.swift | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/iOS/ShowDetailsController.swift b/iOS/ShowDetailsController.swift index efc4019..3c7894b 100644 --- a/iOS/ShowDetailsController.swift +++ b/iOS/ShowDetailsController.swift @@ -131,7 +131,9 @@ class ShowDetailsController: UITableViewController, UITextFieldDelegate { } } - private func generateWithCallback(_ block: (_: NSMutableString) -> ()) { + private func generateWithCallback( + _ block: @escaping (_: NSMutableString) -> () + ) { let generator: PasswordGenerator = isLegacy ? LegacyPasswordGenerator() : NewPasswordGenerator() generator.site = name.ofObject @@ -166,15 +168,16 @@ class ShowDetailsController: UITableViewController, UITextFieldDelegate { DispatchQueue.global(qos: .default).async { generator.derivePassword() - } - let password = NSMutableString(bytes: generator.output.items, - length: generator.length, - encoding: String.Encoding.utf8.rawValue)! + let password = NSMutableString( + bytes: generator.output.items!, + length: generator.length, + encoding: String.Encoding.utf8.rawValue)! - DispatchQueue.main.sync { - activityController.view.isHidden = true - block(password) + DispatchQueue.main.sync { + activityController.view.isHidden = true + block(password) + } } }