gpt4 book ai didi

IOS Swift 在使用 nib 文件进行可重用 View 时出现混淆错误

转载 作者:行者123 更新时间:2023-11-29 00:16:07 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的可重用 View ,但出于某种原因我收到了一个非特定错误。我正在学习本教程 https://www.youtube.com/watch?v=H-55qZYc9qI .如前所述,这是我第一次尝试这个。一切都可以正确编译,但是当我转到该 View 时,出现运行时错误。奇怪的是,我完全按照该教程进行操作,但出现了错误。名称正确, View 连接正确。有什么建议

import UIKit

class streamShared: UIView {
@IBOutlet var view: streamShared!

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)

UINib(nibName: "streamShared", bundle: nil).instantiate(withOwner: self, options: nil)
addSubview(view)
}
}

enter image description here

enter image description here

最佳答案

你自己得到了一个无限递归:streamShared.init(coder:) 正在调用它自己。

我认为 subview 应该是 UIView 类型:

import UIKit

// PLEASE name your classes, structs and enums Capitalized!
class StreamShared: UIView {

var view: UIView!

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)

self.view = UINib(nibName: "streamShared", bundle: nil).instantiate(withOwner: self, options: nil)
addSubview(view)
}
}

此外,将 xib 文件中主视图的类更改为默认的 UIView(灰色);否则,当读取 xib 并实例化其中包含的 View 时,StreamShared.init(coder:) 仍将被调用。

关于IOS Swift 在使用 nib 文件进行可重用 View 时出现混淆错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45292126/

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