【发布时间】:2015-09-16 15:55:17
【问题描述】:
当我删除 UITableView 的最后一行时,我收到一个 lldb 错误,而没有其他消息。这是我的代码:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
if tableView == sendTableView {
return []
} else {
//delete row
let deleteRow = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete" , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
self.oId = globalClass.messageObjects[indexPath.row].objectId!!
self.messageToDelete = globalClass.messageObjects[indexPath.row]["fromFriend"] as! String
globalClass.messageObjects.removeAtIndex(indexPath.row)
self.myMap.removeAnnotation(self.pinAnnotationArray[indexPath.row])
self.pinAnnotationArray.removeAtIndex(indexPath.row)
self.messageTableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
self.deleteMessage()
})
//get directions
...
return [deleteRow,getDirections]
}
}
//delete message
func deleteMessage() {
_ = PFQuery(className:"Messages")
let query = PFQuery(className:"Messages")
query.getObjectInBackgroundWithId(oId){ (object: PFObject?, error: NSError?) -> Void in
if error == nil && object != nil {
if self.messageToDelete == PFUser.currentUser()?.username {
object!.deleteInBackgroundWithBlock({ (Bool, error) -> Void in
})
} else {
let wanted:PFObject = object as PFObject!
if wanted["wanted"] as! Bool == true {
if self.newMessages.count > 1 {
self.newMessages.removeLast()
self.newMessagesNumber.text = "\(self.newMessages.count)"
} else {
self.newMessages = []
self.newMessagesNumber.hidden = true
}
wanted["wanted"] = false
wanted.saveInBackgroundWithBlock{(success, error) -> Void in
if success == false {
} else {
let currentInstallation:PFInstallation = PFInstallation.currentInstallation()
currentInstallation.badge = self.newMessages.count
currentInstallation.saveEventually()
}
}
}
}
}
}
}
对象在崩溃前被删除,UITableView 似乎被重新加载。什么可能导致此崩溃?
【问题讨论】:
-
那么,异常断点捕获了什么异常?
-
当我添加异常断点时,日志中什么都没有。
-
那你怎么知道它崩溃了?
-
所以。见过一个应用程序停止运行吗?这就是发生的事情。异常断点不会在日志中打印任何内容。
-
等等!你得到一个 lldb 错误??所以你还没有建造这个东西?如果您查看构建日志,还有其他消息。
标签: swift uitableview lldb