IOS Swift 将 nib 文件用于可重用视图时出现混淆错误
IOS Swift confusing error on using nib file for reusable Views
我正在尝试做一个简单的可重用视图,但由于某种原因我收到了一个非特定错误。我正在学习本教程 https://www.youtube.com/watch?v=H-55qZYc9qI 。如前所述,这是我第一次尝试这个。一切都可以正确编译,但是当我转到该视图时,出现运行时错误。奇怪的是,我完全按照该教程进行操作,但出现了错误。名称正确,视图连接正确。有什么建议
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)
}
}
你得到了一个无限递归:streamShared.init(coder:)
正在调用它自己。
我认为子视图的类型应该是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文件中主视图的class改为默认的UIView
(灰色);否则,当读取 xib 并实例化其中包含的视图时,StreamShared.init(coder:)
仍将被调用。
我正在尝试做一个简单的可重用视图,但由于某种原因我收到了一个非特定错误。我正在学习本教程 https://www.youtube.com/watch?v=H-55qZYc9qI 。如前所述,这是我第一次尝试这个。一切都可以正确编译,但是当我转到该视图时,出现运行时错误。奇怪的是,我完全按照该教程进行操作,但出现了错误。名称正确,视图连接正确。有什么建议
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)
}
}
你得到了一个无限递归:streamShared.init(coder:)
正在调用它自己。
我认为子视图的类型应该是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文件中主视图的class改为默认的UIView
(灰色);否则,当读取 xib 并实例化其中包含的视图时,StreamShared.init(coder:)
仍将被调用。