Ios IBOutlet UITextField.text崩溃的大写字符串
我正在iOS模拟器中运行Xcode 6.3 beta 1和iOS 8.3 beta 1。我有一个Ios IBOutlet UITextField.text崩溃的大写字符串,ios,swift,uitextfield,iboutlet,Ios,Swift,Uitextfield,Iboutlet,我正在iOS模拟器中运行Xcode 6.3 beta 1和iOS 8.3 beta 1。我有一个UITextField@IBOutlet,我试图获取它的文本属性的大写字符串属性,如下所示: @IBOutlet weak var field: UITextField! @IBAction func calledAfterUserAction(){ let capitalized = field.text.uppercaseString } 上述工作流将导致崩溃。打开僵尸对象后,我可以看
UITextField
@IBOutlet
,我试图获取它的文本
属性的大写字符串
属性,如下所示:
@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())
你犯了哪一个错误?你需要发布你的崩溃日志。原谅我,我忘了在原来的帖子中包含它。我在上面添加了这个,但是在打开僵尸对象之后,我可以看到以下错误:
***-[CFString release]:消息发送到解除分配的实例0x7b689cd0
,谢谢!这个bug是最奇怪的,不仅因为它难以置信的特殊性(如果你创建一个正常的字符串,然后尝试这个,一切都正常),而且如果你在println
语句中调用它,它实际上在崩溃之前工作。不管怎样,我完全是在向苹果提交一份bug报告,这是有史以来最奇怪的bug!感谢上帝我找到了你的帖子,非常感谢:)