斯坦福计算器应用程序不断崩溃

2023-12-12

我正在斯坦福大学使用 Swift 在线学习斯坦福大学 iPad 和 iPhone 开发人员课程,并致力于创建一个计算器应用程序。 (对于编程还是有点陌生​​。)

但是,每当我从计算器中选择运算符时,它就会不断崩溃并显示错误消息。

operandStack = [36.0] 
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb) 

然后当我查看 ViewController 来查看源代码的哪一部分被突出显示时。它是这个:

 NSNumberFormatter().numberFromString(display.text!)!.doubleValue }

不过,下面的错误消息显示:

THREAD 1:EXC_BAD_INSTRUCTION(code:EXC_1386_INVOP,subcode=0x0)

我不明白发生了什么,因为我从讲座中逐字逐句地输入了代码。

任何帮助表示赞赏!

提前致谢!


我也被课程的那部分困住了!

我认为苹果最近对 NSNumberFormatter 的 numberFromString 方法进行了更改。因为当我打印出display.text!时,没有任何错误。换句话说,它在展开该部分时没有找到 nil。

我们要展开的另一部分就在这里,在第二个!标记,我们只打开这部分:

NSNumberFormatter().numberFromString(display.text!)

但我们遇到了一个错误,因此 numberFromString 应该返回 nil。

但在视频中,事实并非如此。它完美地将浮点数字符串(例如“36.0”)转换为 NSNumber,然后转换为 Double。

由于你的问题是在 5 月 20 日提出的,而且我找不到任何“旧”问题,我认为苹果已经更改了 numberFromString 上的代码。

编辑:我做了一些疯狂的事情,并使用查找和替换(command + F)将代码中的所有“Double”替换为“Int”。乘法部分现在运行良好,我认为问题出在“.”上。部分双打。

编辑2:我解决了。美国等一些国家/地区使用“.”。分隔小数,而其他一些国家(例如土耳其)则使用“,”来做到这一点。它适用于视频,因为他是在美国做的。

NSNumberFormatter 有一个名为decimalSeparator 的属性。我们必须将其设置为“.”。我对我的代码做了以下更改,效果完美。

var displayValue: Double {
    get {
        var formatter = NSNumberFormatter()
        formatter.decimalSeparator = "."
        return (formatter.numberFromString(display.text!)!.doubleValue)
    }
    set {
        display.text = "\(newValue)" 
        userIsInTheMiddleOfTypingNumber = false 

    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

斯坦福计算器应用程序不断崩溃 的相关文章

随机推荐

  • 在数据库中保存塞尔维亚拉丁字符

    我在数据库中保存塞尔维亚拉丁字符时遇到问题 但只有当我从 jsf 应用程序保存它时才会出现问题 当我直接使用 SQLyog 在数据库中插入一些行时 一切都很好 当我尝试从应用程序插入某些内容而不是字符时 and 在数据库中插入问号 另一方面
  • jqgrid服务器异常错误消息

    有没有办法在我的 jqGrid 中显示从服务器发送的自定义异常消息 我的一个函数执行 throws 子句并抛出一些异常 我需要显示与此抛出的异常相关的错误消息 有没有办法在 jqGrid 中做到这一点 您没有指定在哪个 jqGrid 操作中
  • START_STICKY 和 START_NOT_STICKY

    有什么区别START STICKY and START NOT STICKY在android中实现服务时 谁能指出一些标准示例 这两个代码仅在手机内存不足并在服务完成执行之前终止服务时才相关 START STICKY告诉操作系统在有足够的内
  • 在scala中序列化优先级队列

    我正在尝试序列化一个可变的PriorityQueue在 scala 2 10 中 我得到了NotSerializableException将对象写入 ObjectOutputStream 时 我做了一个简单的测试用例 import java
  • 如何在 Zend Framework 2 中访问路由、发布、获取等参数

    zf2中如何获取与页面请求相关的各种参数 像 post get 参数 正在访问的路由 发送的标头和上传的文件 最简单的方法是使用参数插件 在 beta5 中引入 它具有实用方法 可以轻松访问不同类型的参数 一如既往 读书测试对于理解某物应该
  • 我应该使用事件、信号量、锁、条件或其组合来管理安全退出多线程 Python 程序吗?

    我正在编写一个多线程Python程序 其中主线程和它生成的其他线程作为守护进程运行 但不是Thread daemon True 它们在某些目录中查找某些文件 并在它们存在时对其执行操作 一个 任何线程中可能会发生错误 这将需要整个程序退出
  • 如何使用 MASM 在控制台上进行输入/输出? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我用谷歌搜索了又搜索 但没有发现任何有用的东西 如何将输出发送到控制台 并通过程序集接受来自控制台的用户输入 我正在使用 MASM32 正如 filofel 所说 使用 Win3
  • 比较在 Three.js 中创建天空盒材质的方法

    当谈到在 Three js 中制作天空盒时 我看到了两种不同的思想流派 假设我们有代码 var imagePrefix images mountains var directions xpos xneg ypos yneg zpos zne
  • 反应改变数组中的状态(for循环)

    我有一个有航班的州 并且有一个滑块可以更改最高价格以更改航班元素的可见性 maxpriceFilter var flightOffer this state flightOffer var sliderPrice this state sl
  • 如何在 C++ 中将加载到内存中的图像文件转换为 ID2D1Bitmap

    我正在尝试将刚刚从压缩文件提取到内存中的图像文件 png 但可以是任何东西 转换为 ID2D1Bitmap 以便使用 Direct 2D 进行绘制 我试图寻找一些文档 但我只能找到接收 const char path 或询问我图像的宽度和高
  • 解析 URI 参数和关键字值对

    我想解析文本文件中 URI L 的参数和关键字值 还应包括没有值的参数 Python 很好 但我愿意接受使用其他工具的建议 例如 Perl 或单行代码也可以解决这个问题 示例来源 www domain com folder page php
  • 使用 VB .Net 和 UI Automation 从 Google Chrome 中所有打开的选项卡获取 url

    您好 我有这段代码可以获取 Chrome 上的当前 url 但只能获取活动选项卡 url 我需要使用 UI 自动化从所有打开的选项卡获取 url 我的工作代码 Function GetChromeUrl ByVal proc As Proc
  • R 文本挖掘 - 处理复数

    我正在学习 R 中的文本挖掘 并且取得了相当大的成功 但我对如何处理复数感到困惑 即我希望 nation 和 nations 被算作同一个词 理想情况下 dictionary 和 dictionaries 被算作同一个词 x lt nati
  • 对多个后端服务的 Azure AD 用户进行身份验证

    我正在尝试找到一种授权 Web 客户端的策略 该客户端对 Azure 中托管的两项服务进行 HTTP 调用 Web 客户端都是客户端 两个 API 服务是托管在 Azure 中的 Azure Functions 对于上述三个应用程序中的每一
  • UIWindow 中的多个视图

    我有一个 基于导航的应用程序 它还需要始终在屏幕底部显示一个视图 添加 UINavigationController 的视图后 我将这个新视图添加到 UIWindow 中 In my delegate s applicationDidFin
  • 设置链接数据库 (MS Access) 路径而不访问链接数据库

    我的 Access 系统由两部分组成 一个包含表单 报告和宏的 前端 mdb 文件 以及一个包含数据的后端 mdb 文件 前端 MDB 文件的副本存储在每台计算机上 后端文件位于 server share backend mdb 前端MDB
  • 使用 Robospice 和 Android Studio 出现 Commons-Io 重复条目错误

    我已经研究以下问题几个小时了 但还没有想出解决我的问题的方法 我已经尝试了 Stack Overflow 上的以下修复 Android Studio 更新至 1 0 损坏 MultiDex and Gradle 插件 v0 13 1 后重复
  • 计算给定数字在排序集中的索引

    不确定这个问题应该在 Math Overflow 上还是在这里 所以首先在这里尝试 假设我们有一个包含 N 个 1 和 M 个 0 的数字 有 M N M N 个不同的这样的数字 可以在可数集合中排序 例如 包含 2 个 1 和 3 个 0
  • RootViewController动画过渡,初始方向错误

    所以我遵循了这个线程 RootViewController 切换过渡动画将 window rootViewController 从 A 转移到 B 再到 C 代码如下所示 UIView transitionWithView self win
  • 斯坦福计算器应用程序不断崩溃

    我正在斯坦福大学使用 Swift 在线学习斯坦福大学 iPad 和 iPhone 开发人员课程 并致力于创建一个计算器应用程序 对于编程还是有点陌生 但是 每当我从计算器中选择运算符时 它就会不断崩溃并显示错误消息 operandStack