gpt4 book ai didi

ios - Xcode 6.1 - 结构实例控制台错误

转载 作者:可可西里 更新时间:2023-10-31 23:45:10 25 4
gpt4 key购买 nike

我是编程界的初学者,我选择“Swift”作为我的第一门编程语言。到目前为止一切都很顺利,但现在我正在学习结构和实例,如何更新它们等等,我遇到了神秘的控制台错误,我无法继续我的项目。

所以问题。

我创建了名为“Tiger.swift”的结构。该结构具有名称、年龄等属性。在“viewController”中,我创建了名为 myTiger 的新变量,并尝试更新它的属性,在控制台中创建 println 命令后,出现了一些奇怪的东西。它编译并告诉我“构建成功”,但在控制台中出现类似这样的内容。

“我的老虎的名字是:Tigger,它的年龄是 3,它的年龄是 3,它的图像是 Optional()”

而这个奇怪的东西是“可选的”。因为如果我以后想更新我的实例,它不会编译并显示给我:

“我的老虎的名字是:Tigger,它的年龄是 3,它的年龄是 3,它的图像是 Optional() fatal error :在展开可选值时意外发现 nil(lldb)“

有一个指向 Git 存储库 ( https://github.com/llinards/lionsandtigers ) 的链接,以防没有快速解决方案或我不小心造成的小错误。

如果您能提供帮助,我将不胜感激!

谢谢!

最佳答案

我仔细查看了您的代码:

  1. 我将您的 Tiger 结构的 image 属性更改为可选,因为您没有模板或占位符图像(如果有,您可以将初始值设置为该图像)。
  2. 你的 Storyboard(包括你的 IBOutlets)非常糟糕......我不知道这是怎么发生的,我以前从未见过这样的事情......
  3. 我上传了你项目的工作副本here (这里很难显示与IB相关的东西,我只是删除并重新添加了您的标签和 View )。
  4. 我所做的相关代码更改如下:

    在您的 Tiger 模型对象 (Tiger.swift) 中,我更改了最后一行

    var image = UIImage(named:"")

    var image: UIImage?

    您遇到的第一个错误是因为 UUImage(named:"") 返回 nil。在 Swift 中,非可选类型永远不能为 nil。

    在您的 ViewController 中,将 Tiger 初始化更改为

    Tiger(age: 3, name: "Tigger", breed: "TOne", image: UIImage(named: "t1.jpg"))

    您的 println() 调用显示:

    My Tiger's name is: Tigger, it's age is 3, it's age is 3 and it's image is Optional(UIImage: 0x7f8d78f43c90)

    这是正确的,因为您的图像现在已包装到一个可选对象中。

关于ios - Xcode 6.1 - 结构实例控制台错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26670039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com