我正在制作一个简单的Notes应用程序,启动该应用程序时出现错误“ NSArray元素无法匹配Swift Array元素类型”。尽管还有很多其他这样的问题,但在放置时,在tableViewController中都没有问题
cell.textLabel!.text = noteTitles[indexPath.row].title
这是我的完整代码和数组的类:
码:
class TableViewController: UITableViewController {
var noteTitles:[Note] = []
// MARK: - Table view data source
override func tableView(tableView: UITableView,
numberOfRowsInSection section: Int) -> Int {
return noteTitles.count
}
override func tableView(tableView: UITableView,
cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell",
forIndexPath: indexPath) as UITableViewCell
cell.textLabel!.text = noteTitles[indexPath.row].title // Error here.
return cell
}
}
和
Note
类:class Note {
var title = ""
var content = ""
}
请帮助我,告诉我我做错了什么,并帮助我解决它。先感谢您!
这是询问NSCoding错误的图像:
code
这是KeyedUnarchiver错误的图片:
code
最佳答案
我的第一个猜测是您更改了Note
类,并且试图从NSUserDefaults
加载旧类。如果先清除NSUserDefaults
会怎样? (通过更改您正在使用的密钥,或添加硬编码的removeObjectForKey()
。
关于ios - Swift 2.2-NSArray元素无法匹配TableViewController中单元格的Swift Array元素类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38340578/