我是我的应用程序中的CORE DATA的新手我正在使用coredata. 我只是将数据存储在我的核心数据中.我的实体名称是“FEED”,我有一个名为“title”,“id”,“link”,“desc”的行,所以现在我想基
我只是将数据存储在我的核心数据中.我的实体名称是“FEED”,我有一个名为“title”,“id”,“link”,“desc”的行,所以现在我想基于“id”删除特定行.那怎么能这样呢?
这是我的代码,
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell : MessageMusicCell = tableView.dequeueReusableCellWithIdentifier("MessageMusicCell") as! MessageMusicCell cell.pinButton.tag = indexPath.row cell.pinButton.addTarget(self, action: #selector(MessageViewController.buttonDeletePressed(_:)), forControlEvents: UIControlEvents.TouchUpInside) cell.selectionStyle = .None person = people[indexPath.row] cell.lbl_title_msg_music.text = person!.valueForKey("title") as? String cell.img_message_music.image = UIImage(named: "PlaceHolder") cell.desc_msg_music.text = person!.valueForKey("desc") as? String return cell } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { print(people.count) return people.count } func buttonDeletePressed(sender:UIButton) { } func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { let cell : MessageMusicCell = tableView.dequeueReusableCellWithIdentifier("MessageMusicCell") as! MessageMusicCell }
那怎么能这样呢?
试试这样,func buttonDeletePressed(sender:UIButton) { let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let context:NSManagedObjectContext = appDel.managedObjectContext let index = sender.tag context.deleteObject(people[index] as NSManagedObject) people.removeAtIndex(index) let _ : NSError! = nil do { try context.save() self.tableView.reloadData() } catch { print("error : \(error)") } }
希望这会帮助你.