Tôi đang sử dụng từ điển để đánh giá biểu thức, khi biểu thức có biến và từ điển thực sự được NSExpression sử dụng, điều gì đó xảy ra và tôi nhận được EXC_BAD_ACCESS khi cố gắng cập nhật từ điển, điều này chỉ xảy ra khi gỡ lỗi trong iPhone6, không phải trong trình mô phỏng và không phải trong iPhone 4S.EXC_BAD_ACCESS khi cập nhật từ điển Swift sau khi sử dụng nó để đánh giá NSExpression
let strExpression = "a+b+20"
let exp = NSExpression(format:strExpression)
self.dictionary = ["a":10.0, "b":15.0, "c":25.0]
let value:AnyObject = exp.expressionValueWithObject(self.dictionary, context: nil)
let doubleValue = value as Double
self.dictionary.updateValue(doubleValue, forKey: "c")
Something thực sự kỳ lạ là nếu tôi thêm dòng này chỉ sau khi tạo từ điển, sau đó nó woks tốt:
let newDic = self.dictionary
I, đang sử dụng iOS 8.1. Cảm ơn trước!
là self.dictionary khai báo với let hoặc var? –
Được cho là lỗi trình biên dịch. Tôi đã trải nghiệm như vậy. Xem http://stackoverflow.com/questions/26809986/exc-bad-access-on-ios-8-1-with-dictionary – steventnorris
Cảm ơn @juanelomx !!! Cùng một lỗi và hack với 'let' đã giúp tôi – Aznix