#ios #swift
Вопрос:
Я написал этот метод, чтобы проверить, существует ли уже ярлык для данного идентификатора.
public static func shortcutExists(id: String, completion: @escaping ((Bool) -> Void)) {
var exists = false
INVoiceShortcutCenter.shared.getAllVoiceShortcuts { voiceShortcutsFromCenter, error in
if let voiceShortcutsFromCenter = voiceShortcutsFromCenter {
for voice in voiceShortcutsFromCenter {
if id == voice.shortcut.intent?.identifier { // What to do here?
exists = true
break
}
}
} else {
...
}
completion(exists)
}
}
У меня есть уникальный идентификатор для каждой записи о намерении. Но я не знаю, как сохранить этот идентификатор в качестве идентификатора намерения. Идентификатор кажется довольно доступным только для чтения и, похоже, генерируется автоматически.
Как я могу этого добиться, пожалуйста?
Ответ №1:
Я добиваюсь этого, добавляя уникальное свойство в каждое пользовательское намерение. Затем проверьте свойство намерения после getAllVoiceShortcuts{}
.
func checkExist(existShortcuts: [INVoiceShortcut]) -> Bool {
existShortcuts.first(where: {
let intent = $0.shortcut.intent
return intent?.customPropertyId == self.customId
}) != nil
}