我想將我的項目轉換爲Swift 3,但我收到一條錯誤消息,表達式太複雜,無法在合理的時間內解決。我不確定這是爲什麼,因爲這個表達式在Swift 2.2中工作正常,但是現在突然間它花了這麼長時間?表達式太複雜,無法在合理的時間內解決Swift 3
有誰知道我該如何解決這個問題?這是表達。它基本上是一個字典,稍後將與SecItemCopyMatching
一起用於從鑰匙串中提取保存有鑰匙標籤的物品。它執行touchID
要做到這一點,因爲它保存與鎖定參數:
let query : [String: AnyObject] = [String(kSecClass) : kSecClassGenericPassword,
String(kSecAttrService) : keyTag as AnyObject,
String(kSecAttrAccount) : keyTag,
String(kSecReturnData) : kCFBooleanTrue,
String(kSecMatchLimit) : kSecMatchLimitOne,
String(kSecUseOperationPrompt) : message]
你有沒有通過[這些看起來搜索結果](http://stackoverflow.com/search?q=%5Bswift%5D+too+complex+to+be+solved+in+reasonable+time)上的錯誤信息?你可能會發現一些有用的東西 – rmaddy
The錯誤「表達式太複雜,無法在合理的時間內解決」與上下文高度相關,有時完全相同的表達式會導致上下文中出現錯誤,而不會出現在其他上下文中。監聽中心顯示'keyTag'和'message'是如何聲明的。 – OOPer
'keyTag'和'message'只是字符串。 – hockeybro