- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是编程新手,我已经开始在 iTunes U 上学习斯坦福大学的类(class),学习如何制作 iPhone 8 应用程序。他们使用 Xcode 6 和 Swift 1,而我在 El Capitan 使用 Xcode 7 和 Swift 2。我发现 Xcode 能够识别并帮助我纠正代码中的一些差异(“println”是例如现在“打印”),但我被代码的一个特定部分绊倒了:
var displayValue: Double {
get {
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set {
display.text = "\(newValue)"
userIsInTheMiddleOfTypingANumber = false
}
}
我仔细检查了好几次,以确保这正是老师写的。他的构建正确且运行正常,而我的构建正确,但在我尝试操作它时显示此 fatal error ,“在展开可选值时意外发现 nil”(有关所有详细信息,请参见屏幕截图)。
我一直在互联网上四处寻找并找到了一些类似的例子,包括本网站 ( Stanford Calculator app keeps crashing ) 上的一个例子,但在尝试了所有建议之后,我得出结论,某些东西在我的系统中一定是独一无二的,或者我在新的 Xcode/Swift 环境中运行,而不是其他有这个问题的人。没有一个解决方案解决了问题,并且所有解决方案都添加了自己的错误。
在回答其他人的问题时,有人建议我们使用此代码来确保如果“display”返回“nil”,它将提供“0”:
return (NSNumberFormatter().numberFromString(display.text) as? Double) ?? 0
我试过了,但它只给了我更多的错误,有些似乎与 Swift 2 有关(它需要在 double 后加一个逗号,要我打开 display.text,并提示缺少预期的表达式——也许建议的代码在 Swift 1 中很好??)。
最佳答案
I've double checked several times to make sure this is exactly how the teacher wrote it. His built correctly and functioned correctly, while mine builds correctly, but shows this fatal error when I try to operate it, "unexpectedly found nil while unwrapping an Optional value"
我怀疑 display
是一个 IBOutlet 属性,需要连接到用户界面中的某些东西,可能是一个文本字段。如果它没有连接,那么即使你的代码完全一样,当你尝试使用它的 text
属性时,你也会得到 nil
,并且解包会导致错误你看到了。
无论上述建议是否真正解决了您的问题,您真正需要做的是在崩溃发生的位置之前一两行设置一个断点,然后单步执行代码。查看涉及的变量并找出 nil
值的来源。您可以从那里向后工作并弄清楚为什么您期望不是 nil
的东西实际上是 nil
。学习以这种方式工作将帮助您在这些问题出现时解决它们(它们将再次出现)。
关于ios - 斯坦福计算器应用程序崩溃并出现错误 "unexpectedly found nil",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34009395/
一旦在 qconsole Marklogic 中运行以下代码,我就会遇到以下错误 XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax err
我已经在我的包中编写了这个函数。 def partitionIntoDays(ls, number, lookupKey=None): ''' Partitions the location
我只是一个 android 初学者,我已经安装了 Android Studio(版本是 1.0.2),并创建了一个新的空白应用程序,按照名为“构建你的第一个应用程序”的官方教程,我学习到这个页面' h
这只是前几天工作,但我刚刚将我的代码更新到运行乘客 2.2.4 的审查服务器,而我的 2.3.4 rails 应用程序现在无法在那个盒子上启动。 乘客报告: Passenger encountered
我正在尝试使用带有 Angular 2的整页, 将其导入我的 app.module.ts 时出现以下错误。 "(SystemJS) Unexpected token ) at Obje
TFS2015 vNext 构建失败并出现记录器错误(下面附有错误消息)。根据我的调查,这看起来与 CentralLogger - "Microsoft.TeamFoundation.Distribu
计算机科学学校项目。我需要编写一个程序,其中用户声明数组的大小,然后以数字、非递减顺序填充数组,然后声明一个值 x。然后将 X 分配到适当的位置,以便整个数组按数字、非递减顺序排列。然后输出该数组。
在这 2 个方法中,inspect1 显示编译错误“Unexpected bound”而 inspect2 工作正常,为什么? public void inspect1(List u){ S
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我正在尝试运行以下代码,但遇到了“此时意外”错误。 (echo COPY (SELECT ta.colA as name, ta.colB as user_e, ta.colC as user_n,
我有以下查询: select u.UserName, count(*) as total from Voting v join User u using (UserID) where unique (
我们有以下查询在 MSSQL 中完美运行但在 MySQL 中无法运行: select CONVERT(datetime, dateVal) as DateOccurred, itemID, COUNT
我的代码中存在缩进错误问题。它看起来是正确的...有人能指出我做错了什么吗?我的查询行不断收到错误。 def invoice_details(myDeliveryID): conn = pym
我有以下代码: int a , b , sum; cin>>a>>b; sum=a+b; cout>a>>b>>c; cout<
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我在一个批处理文件上运行这个命令: for %I in (*.txt *.doc) do copy %I c:\test2 ...它不断返回: I was unexpected at this tim
创建查询时出现错误: 'from' unexpected 我的代码如下: @Override public Admin findByAdmin(Admin admin) {
我正在尝试运行此 python 代码,但我不断收到错误消息“意外缩进”。我不确定怎么了。间距似乎很好。有什么想法吗? services = ['Service1'] for service in
我在名为“circular_dependency”的目录中有一些 python 文件: 导入文件_1.py: from circular_dependency.import_file_2 import
我正在尝试使用 gcc 编译代码并运行可执行文件,但它抛出错误: gcc somefile.c -o somefile 编译成功。但是,当我尝试执行它时: $sh somefile 它导致:语法错误:
我是一名优秀的程序员,十分优秀!