我正在获取与我的应用相关的 voiceShortcurts。下面的函数两次进入完成块。它首先返回 true,然后返回 false,哪个 true 是正确的。为什么它两次进入完成块?
public static func updateVoiceShortcuts(completion: @escaping ((_ haveShortcutAlready: Bool) -> Void)) {
INVoiceShortcutCenter.shared.getAllVoiceShortcuts { (voiceShortcutsFromCenter, error) in
if let voiceShortcutsFromCenter = voiceShortcutsFromCenter {
self.voiceShortcuts = voiceShortcutsFromCenter
completion(true)
} else {
if let error = error as NSError? {
print(error)
}
completion(false)
}
}
}