我正在制作一个简单的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/

10-13 09:53