在 Swift 中,如何从 UITableView 中获取对象 id 并根据对象 id 删除对象?
Posted
技术标签:
【中文标题】在 Swift 中,如何从 UITableView 中获取对象 id 并根据对象 id 删除对象?【英文标题】:In Swift, how to grab object id from UITableView and delete object based on object id? 【发布时间】:2015-02-09 11:34:55 【问题描述】:我不知道如何在用户从中选择 UITableView 后从 UITableView 中获取对象 id,在另一个视图控制器中,我想根据我已经从前一个获取的对象 id 删除该对象。
UITableView
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
/* grab object id here and pass to NSUserDefault*/
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let deleteViewController = storyBoard.instantiateViewControllerWithIdentifier("accessView") as DeleteViewController
self.presentViewController(deleteViewController, animated:true, completion:nil)
删除视图控制器
/* Delete object happen here*/
【问题讨论】:
【参考方案1】:您可以在DeleteViewController
中设置一个属性,并在初始化视图控制器时将值传递给它。
class DeleteViewController
var objectId: Int?
// Previous view controller
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
// Grab your object from the data source
let object = dataSource[indexPath.row]
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let deleteViewController = storyBoard.instantiateViewControllerWithIdentifier("accessView") as DeleteViewController
// Pass the Id
deleteViewController.objectId = object.objectId
self.presentViewController(deleteViewController, animated:true, completion:nil)
【讨论】:
【参考方案2】:我已经找到答案了。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
let data: NSManagedObject = myList[indexPath.row] as NSManagedObject
let objectId = data.valueForKeyPath("objectId") as? String
NSUserDefaults.standardUserDefaults().setObject(objectId, forKey: "objectId")
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let deleteViewController = storyBoard.instantiateViewControllerWithIdentifier("accessView") as DeleteViewController
self.presentViewController(deleteViewController, animated:true, completion:nil)
【讨论】:
以上是关于在 Swift 中,如何从 UITableView 中获取对象 id 并根据对象 id 删除对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 UITableView 中的 UITableViewCells 中的 UITextFields 中获取文本并将它们放入数组中(Swift 3)?
如何在 swift 中增加 ScrollView 中的 UITableView 高度
Swift - 如何从 Firebase 检索多个值并将它们显示在 UITABLEVIEW