我想将我的项目转换为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