我有一个 swift 类,具有以下签名:
class CommentsVC: UITableViewController {
给我:
Class 'CommentsVC' has no initializers
它具有以下两个 IBOutlet 以及两个 IBActions:
@IBOutlet weak var AddCommentView: UIView!
@IBOutlet weak var AddingCommentTextField: UITextField!
我还有两种表格 View 方法:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
和
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
我看过here然而它不适用于这种情况,因为我已经按照他们的建议做了。
出了什么问题以及如何修复它?
更新:
下面的代码似乎是问题所在。在另一个 VC 上,它使用准备方法来传递此数据,我传入一个 post 对象,该对象的初始化方式与我初始化下面有问题的代码的方式相同。我该如何解决这个问题?
var selectedMedia : Media {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
最佳答案
这个问题很容易解决。您所要做的就是添加强制展开或像这样的 optional :
var selectedMedia : Media! /*or, ?*/ {
didSet {
self.comments = selectedMedia.comments
loadComments()
}
}
您会遇到一些错误,这些错误很容易,只需按建议选项中的“修复”即可修复它们(基本上他们会说添加“!”等......)
关于ios - 尽管强制解包 IBOutlet,类仍然没有初始化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55073730/