選択したデータの削除
ViewController.swift
func didTapMenuButton(tableViewCell: UITableViewCell, button: UIButton) {
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
let deleteAction = UIAlertAction(title: "削除する", style: .destructive) { (action) in
SVProgressHUD.show()
let query = NCMBQuery(className: "Post")
query?.getObjectInBackground(withId: self.posts[tableViewCell.tag].objectId, block: { (post, error) in
if error != nil {
SVProgressHUD.showError(withStatus: error!.localizedDescription)
} else {
// 取得した投稿オブジェクトを削除
post?.deleteInBackground({ (error) in
if error != nil {
SVProgressHUD.showError(withStatus: error!.localizedDescription)
} else {
// 再読込
self.loadTimeline()
SVProgressHUD.dismiss()
}
})
}
})
}
let reportAction = UIAlertAction(title: "報告する", style: .destructive) { (action) in
SVProgressHUD.showSuccess(withStatus: "この投稿を報告しました。ご協力ありがとうございました。")
}
let cancelAction = UIAlertAction(title: "キャンセル", style: .cancel) { (action) in
alertController.dismiss(animated: true, completion: nil)
}
if posts[tableViewCell.tag].user.objectId == NCMBUser.current().objectId {
// 自分の投稿なので、削除ボタンを出す
alertController.addAction(deleteAction)
} else {
// 他人の投稿なので、報告ボタンを出す
alertController.addAction(reportAction)
}
alertController.addAction(cancelAction)
self.present(alertController, animated: true, completion: nil)
}