gelöst wird Ich versuche, mein Projekt zu Swift 3, zu konvertieren, aber ich erhalte eine Fehlermeldung, dass der Ausdruck zu komplex ist, in angemessener Zeit gelöst werden. Ich bin nicht sicher, warum das so ist, da dieser Ausdruck in Swift 2.2 gut funktioniert, aber jetzt dauert es plötzlich so lange?Expression war zu komplex, um in angemessener Zeit Swift 3
Wer weiß, wie ich dieses Problem beheben? Hier ist der Ausdruck. Es ist im Grunde ein Wörterbuch, das später mit SecItemCopyMatching
verwendet wird, um ein Element aus dem Schlüsselbund zu extrahieren, das mit einem Schlüssel-Tag gespeichert wurde. Es führt ein touchID
, dies zu tun, da es mit dem Verriegelungs Parameter gespeichert wurde:
let query : [String: AnyObject] = [String(kSecClass) : kSecClassGenericPassword,
String(kSecAttrService) : keyTag as AnyObject,
String(kSecAttrAccount) : keyTag,
String(kSecReturnData) : kCFBooleanTrue,
String(kSecMatchLimit) : kSecMatchLimitOne,
String(kSecUseOperationPrompt) : message]
Haben Sie sich durch [diese Suchergebnisse] (http://stackoverflow.com/search?q=%5Bswift%5D+too+complex+to+be+solved+in+reasonable+time) auf die Fehlermeldung? Sie könnten etwas nützliches finden. – rmaddy
die Fehler "Ausdruck war zu komplex, um in angemessener Zeit gelöst zu werden" ist stark kontextabhängig. Manchmal verursacht genau derselbe Ausdruck den Fehler in einem Kontext und nicht in einem anderen Kontext. Möglicherweise müssen Sie mehr Kontext Ihres Codes anzeigen, um Leas t zeigen, wie 'keyTag' und' message' deklariert werden. – OOPer
'keyTag' und' message' sind nur Zeichenfolgen. – hockeybro