Class 尽管强制展开 IBOutlets,但没有初始化程序?
Class has no initializers despite force unwraping IBOutlets?
我在 swift 中有一个 class,签名如下:
class CommentsVC: UITableViewController {
给我:
Class 'CommentsVC' has no initializers
它有两个波纹管 IBOutlets 以及两个 IBActions:
@IBOutlet weak var AddCommentView: UIView!
@IBOutlet weak var AddingCommentTextField: UITextField!
我还有两个table查看方式:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
和
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
我看过 但是它不适用于这种情况,因为我已经按照他们的建议去做了。
出了什么问题,我该如何解决?
更新:
下面的代码似乎是问题所在。在使用准备方法传递此数据的另一个 VC 上,我传入了一个 post 对象,该对象的初始化方式与我初始化下面有问题的代码的方式相同。我该如何解决这个问题?
var selectedMedia : Media {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
只需为 var selectedMedia 添加一个初始值,如下所示:
var selectedMedia: Media = Media() {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
或者您可以将 selectedMedia 设为可选:媒体!还是媒体?
这个问题很容易解决。您所要做的就是添加一个强制解包或一个可选的,如下所示:
var selectedMedia : Media! /*or, ?*/ {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
您会遇到一些错误,只需按建议选项中的修复即可轻松解决这些错误(基本上他们会说添加“!”等。)
我在 swift 中有一个 class,签名如下:
class CommentsVC: UITableViewController {
给我:
Class 'CommentsVC' has no initializers
它有两个波纹管 IBOutlets 以及两个 IBActions:
@IBOutlet weak var AddCommentView: UIView!
@IBOutlet weak var AddingCommentTextField: UITextField!
我还有两个table查看方式:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
和
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
我看过
出了什么问题,我该如何解决?
更新:
下面的代码似乎是问题所在。在使用准备方法传递此数据的另一个 VC 上,我传入了一个 post 对象,该对象的初始化方式与我初始化下面有问题的代码的方式相同。我该如何解决这个问题?
var selectedMedia : Media {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
只需为 var selectedMedia 添加一个初始值,如下所示:
var selectedMedia: Media = Media() {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
或者您可以将 selectedMedia 设为可选:媒体!还是媒体?
这个问题很容易解决。您所要做的就是添加一个强制解包或一个可选的,如下所示:
var selectedMedia : Media! /*or, ?*/ {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
您会遇到一些错误,只需按建议选项中的修复即可轻松解决这些错误(基本上他们会说添加“!”等。)