我正在使用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
对象时会发生,但我无法弄清楚原因。
有没有人遇到过类似的东西,或者有什么东西你可以看到我可能做错了吗?
答案 0 :(得分:0)
尝试使用以下方法创建您的单元格:
cell = FavoriteRowCell(style: UITableViewCellStyle.Default, reuseIdentifier: "favoritesIdentifier")
答案 1 :(得分:0)
我相信我找到了问题的原因。 ImageInfo
类型是一个结构,而不是一个类,所以我猜这是导致问题的。