iOS-分配自定义UITableViewCell引发NSMallocException



我正在Swift中开发一款iOS应用程序,我知道它目前正在测试中,但到目前为止,我已经能够解决所有的小问题,直到我遇到这个问题。我有一个表视图,它将由类FavoriteRowCell的自定义表单元格填充。这是一个类(我简化了它,希望通过消除过程来解决它(:

class FavoriteRowCell
:UITableViewCell {
    var data:ImageInfo?;
    init() {
        super.init(style: UITableViewCellStyle.Default, reuseIdentifier: "favoritesIdentifier");
    }
    func setData(data:ImageInfo) {
        self.data = data;
    }
}

这是我的UITableViewDataSource实现中的单元回收逻辑:

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
    var cell:FavoriteRowCell? = tableView.dequeueReusableCellWithIdentifier("favoritesIdentifier") as? FavoriteRowCell;
    if(!cell) {
        cell = FavoriteRowCell();
    }
    var data:ImageInfo = favorites[indexPath!.row];
    cell!.setData(data);
    return cell!;
}

当我在模拟器中运行这个程序时,一切都很完美。然而,当我在我的测试iPod Touch上运行它时,我得到了一个NSMallocException,应用程序崩溃了。当它试图创建FavoriteRowCell对象时会发生这种情况,但我不知道为什么。

有人遇到过类似的事情吗?或者你能看到我可能做错了什么吗?

尝试使用创建单元格

cell = FavoriteRowCell(style: UITableViewCellStyle.Default, reuseIdentifier: "favoritesIdentifier")

我相信我找到了问题的原因。ImageInfo类型是一个结构,而不是一个类,所以我想这是造成问题的原因。

最新更新