Crashlytics说大约有几次崩溃是随机发生的。

请考虑以下代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("NewsfeedItemCell", forIndexPath: indexPath) as NewsfeedItemTableViewCell

    let newsfeedItem = self.newsfeedItems[indexPath.row]

    // This line gives crash: EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000000000000
    let text = newsfeedItem.text as NSString
    cell.descriptionLabel.text = text

    return cell
}


这是NewsfeedItem类:

class NewsfeedItem: NSManagedObject {

    @NSManaged var date: NSDate
    @NSManaged var sku: String
    @NSManaged var text: String

    var dataItem: DataItem?

}


PS:请注意,NewsfeedItem.text属性不是可选的,因此它不能是nil

最佳答案

您确定NewsfeedItem文本不是nil吗?如果您不先检查

if let text = newsfeedItem.text as? NSString{
    cell.descriptionLabel.text = text
}

10-08 06:24