sách gpt4 ăn đã đi

IBOutlets và IBactions cần chính xác!

In lại 作者:搜寻专家 更新时间:2023-10-30 21:48:50 28 4
mua khóa gpt4 giày nike

我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。

View Controller 没有初始化器

required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }

IBOutletproperty 具有非可选类型“UILabel”

并且不断弹出此代码:

@IBOutlet var outputLabel : UILabel

但是当我添加一个!马克,它运行没有像这样的错误

@IBOutlet var outputLabel : UILabel!

IBActions 也会发生同样的事情...

câu trả lời hay nhất

首先要知道,什么是!?

  • sử dụng ? :如果将来该值可以变为 nil,那么您对此进行测试。
  • sử dụng ! :如果它真的不应该在未来变成 nil,但它最初需要为 nil。

@IBOutlet:

当您在 Swift 中声明一个 outlet 时,编译器会自动将该类型转换为一个弱隐式解包可选,并为其分配一个初始值 không

实际上,编译器将 @IBOutlet var name: Type 替换为 @IBOutlet weak var name: Type! = 无

Xcode 会更改它并强制限制声明 @IBOutlet 非选项类型变量,因此遵循 @IBOutlet 的两种声明直到日期都是有效的。

@IBOutlet var outputLabel : UILabel!
@IBOutlet var priceLabel : UILabel?

但是,如果您在 beta 4 中控制拖动标签的导出,则会发生这种情况:

@IBOutlet var priceLabel : UILabel! = nil

关于ios - IBOutlets 和 IBactions 需要!到底,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27541993/

28 4 0
Đề xuất bài viết: swift - 使用 Swift 从服务器下载文件
Đề xuất bài viết: java - 验证数据库是否符合您的预期
Đề xuất bài viết: database - 连续数据库备份?
Đề xuất bài viết: ios - 带边框的 iOS 8 按钮 Swift
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress