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
}