删除tableView单元格SWIFT

时间:2015-09-09 04:45:11

标签: swift tableview cell

如何使用Swift删除表格视图单元格?我也在使用解析。如果有人可以告诉我如何制作行动表,那就太棒了,"你确定要删除吗?"如果不是那样的话。

这是我到目前为止的代码:

import UIKit

class MasterTableViewController: UITableViewController, UITableViewDelegate,
PFLogInViewControllerDelegate, PFSignUpViewControllerDelegate {

    var noteObjects: NSMutableArray! = NSMutableArray()

    override func viewDidLoad() {
        super.viewDidLoad()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem()
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        if (PFUser.currentUser() == nil) {

        }else {
            self.fetchAllObjectsFromLocalDatastore()
            self.fetchAllObjects()
        }
    }

    func fetchAllObjectsFromLocalDatastore() {

        var query: PFQuery = PFQuery(className: "Note")

        query.fromLocalDatastore()
        query.whereKey("username", equalTo: PFUser.currentUser()!.username!)
        query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

            if (error == nil) {

                var temp: NSArray = objects!;  NSArray.self

                self.noteObjects = temp.mutableCopy() as! NSMutableArray
                self.tableView.reloadData()

            }else {

            }
        }
    }

    func fetchAllObjects() {

        PFObject.unpinAllObjectsInBackgroundWithBlock(nil)

        var query: PFQuery = PFQuery(className: "Note")

        query.whereKey("username", equalTo: PFUser.currentUser()!.username!)
        query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

            if (error == nil) {

                PFObject.pinAllInBackground(objects, block: { (success, error) in
                    if error == nil {
                        self.fetchAllObjectsFromLocalDatastore()
                    }
                })
            }else {

                println(error!.userInfo)

            }
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Potentially incomplete method implementation.
        // Return the number of sections.
        return 1
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete method implementation.
        // Return the number of rows in the section.
        return self.noteObjects.count
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! MasterTableViewCell

        var object: PFObject = self.noteObjects.objectAtIndex(indexPath.row) as! PFObject

        cell.masterTitleLabel?.text = object["title"] as? String
        cell.masterTextLabel?.text = object["text"] as? String

        return cell
    }

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        self.performSegueWithIdentifier("editNote", sender: self)
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var upcoming: AddNoteTableViewController = segue.destinationViewController as! AddNoteTableViewController

        if (segue.identifier == "editNote") {

            let indexPath = self.tableView.indexPathForSelectedRow()!

            var object: PFObject = self.noteObjects.objectAtIndex(indexPath.row) as! PFObject

            upcoming.object = object

            self.tableView.deselectRowAtIndexPath(indexPath, animated: true)

        }
    }
}

0 个答案:

没有答案