我在iOS模拟器中运行Xcode 6.3beta 1和iOS 8.3beta1。我有一个UITextField
@IBOutlet
它的uppercaseString
属性的text
属性,如下所示:
@IBOutlet weak var field: UITextField!
@IBAction func calledAfterUserAction(){
let capitalized = field.text.uppercaseString
}
上述工作流将导致崩溃。打开僵尸对象后,我可以看到以下错误:
*** -[CFString release]: message sent to deallocated instance 0x7b689cd0
我该怎么解决?
最佳答案
我遇到了同样的问题-很高兴你把这个贴出来,我知道我没有疯!
我发现简单的“uppercaseString”方法失败,并出现了一个释放对象错误,而采用区域设置的扩展版本可以工作。我猜苹果内部在处理默认区域设置时有一个bug。。。将代码更改为:
let capitalized = field.text.uppercaseStringWithLocale(NSLocale.currentLocale())