iOS应用程序在手机上崩溃,但在模拟器上运行正常
我有以下代码:
var displayValue: Double{ get{ println("display.text =(display.text!)") return NSNumberFormatter().numberFromString(display.text!)!.doubleValue } set{ display.text = "(newValue)" userIsInTheMiddleOfTypingANumber = false; } } 它在模拟器中工作正常.但是当我在手机上试用它时会崩溃. digit= 3 display.text =3 operandStack =[3.0] digit= 2 display.text =2 operandStack =[3.0,2.0] display.text =6.0 fatal error: unexpectedly found nil while unwrapping an Optional value 这一行: NSNumberFormatter().numberFromString(display.text!)! 返回nil导致应用程序崩溃导致它无法打开可选项.我真的不知道出了什么问题.我正在关注iTunes U中的一些教程. 任何帮助,将不胜感激. 解决方法
尝试:
get{ println("display.text =(display.text!)") let formatter = NSNumberFormatter() formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") return formatter.numberFromString(display.text!)!.doubleValue } 因为,NSNumberFormatter默认使用设备区域设置,小数分隔符可能不是“.”.例如: let formatter = NSNumberFormatter() formatter.locale = NSLocale(localeIdentifier: "ar-SA") print(formatter.decimalSeparator!) // -> outputs "?" formatter.numberFromString("6.0") // -> nil 使用此类语言环境的格式化程序无法解析“6.0”之类的字符串.因此,如果您希望格式化程序获得一致的结果,则应明确指定语言环境. 对于en_US_POSIX语言环境,请参见the document:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- React 笔记4:Components and Props
- c# – 队列动作处理的模式
- 通过scanf()输入多个字串
- objective-c – 正确使用核心数据进行多重访问 – iphone /
- 最快让你上手ReactiveCocoa之基础篇
- c# – 将流转换为IEnumerable.如果可能的话,“保持懒惰”
- [Swift]LeetCode214. 最短回文串 | Shortest Palindrome
- ios – xib未在默认的MonoTouch应用程序中的Xcode中打开
- ruby-on-rails-3.1 – 由于新的遗物错误,Rails服务器将无法
- UIPullRefreshFlash模块demo示例