gpt4 book ai didi

ios - 如何使用非可选属性子类化 UITableViewController

转载 作者:行者123 更新时间:2023-11-28 09:19:13 25 4
gpt4 key购买 nike

如果我像这样设置一个 UITableViewController:

class FolderTableViewController: UITableViewController {

var rootFolder:String

init(path:String) {

rootFolder = path
super.init(style: .Plain)

}
}

然后我得到一个运行时错误:fatal error: use of unimplemented initializer 'init(nibName:bundle:)'

如果我在初始化程序中添加 init(nibName:bundle:),则会出现编译时错误 property 'self.rootFolder' not initialized at super.init call

...但我无法在该方法中设置字符串——字符串值仅在我自己的初始化器中可用,实际上已经设置好了。

我是否遗漏了一些关于它应该如何工作的信息,或者这是一个错误?我能想到的唯一可能的解决方案是将该属性设为可选。

感谢您提供的任何帮助。

最佳答案

如果你想快速摆脱错误,你可以这样做:

var rootFolder:String = ""

但是如果你想完全理解为什么会出现这个错误,那么你应该阅读 Swift 文档的这一部分: https://developer.apple.com/library/prerelease/iOS/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html

这也是 Ash Furrow 关于 Swift Initializers 的一篇很棒的文章: http://ashfurrow.com/blog/swift-initializers

关于ios - 如何使用非可选属性子类化 UITableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168422/

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