Tôi đang cố gắng chuyển đổi dự án của mình sang Swift 3, nhưng tôi nhận được thông báo lỗi rằng biểu thức quá phức tạp để được giải quyết trong thời gian hợp lý. Tôi không chắc tại sao điều này lại xảy ra, vì biểu thức này hoạt động tốt trong Swift 2.2, nhưng bây giờ tất cả đột ngột mất quá nhiều thời gian?Biểu hiện quá phức tạp để được giải quyết trong thời gian hợp lý Swift 3
Có ai biết cách khắc phục sự cố này không? Đây là biểu thức. Về cơ bản nó là một từ điển sẽ được sử dụng sau này với SecItemCopyMatching
để trích xuất một mục từ keychain đã được lưu với một thẻ khóa. Nó thực hiện một touchID
để làm điều này, vì nó đã được cứu với tham số khóa:
let query : [String: AnyObject] = [String(kSecClass) : kSecClassGenericPassword,
String(kSecAttrService) : keyTag as AnyObject,
String(kSecAttrAccount) : keyTag,
String(kSecReturnData) : kCFBooleanTrue,
String(kSecMatchLimit) : kSecMatchLimitOne,
String(kSecUseOperationPrompt) : message]
bạn đã xem qua [những kết quả tìm kiếm] (http://stackoverflow.com/search?q=%5Bswift%5D+too+complex+to+be+solved+in+reasonable+time) trên thông báo lỗi? Bạn có thể tìm thấy một cái gì đó hữu ích – rmaddy
"Biểu thức quá phức tạp để được giải quyết trong thời gian hợp lý" phụ thuộc nhiều vào ngữ cảnh. Đôi khi chính xác cùng một biểu thức gây ra lỗi trong ngữ cảnh và không trong ngữ cảnh khác. Bạn có thể cần hiển thị thêm ngữ cảnh của mã, tại leas t hiển thị như thế nào 'keyTag' và' message' được khai báo. – OOPer
'keyTag' và' message' chỉ là chuỗi. – hockeybro