在表视图中删除行

时间:2017-05-08 18:26:33

标签: swift tableview tablecell

我最近解决了我在此代码中遇到的一些错误,但是出现了一个新错误,而我和我的老师都无法修复它。它说“预期宣言” 我该如何解决这个问题?

import UIKit

    class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

        var StoredValues = Values()
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }

        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            return UITableViewCell()
        }

        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return 4
        }
        func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            self.performSegue(withIdentifier: "meunSegue", sender: self)

            func prepare(for segue: UIStoryboardSegue, sender: Any?) {
                _ = segue.destination as! SecondViewController
            }
            class SecondViewController: UIViewController {

                var recievedData = ""
                override func viewDidLoad() {
                    super.viewDidLoad()
                    print(recievedData)
                }
            }
        }
        - (void)tableView:(UITableView *)tableView committEditStyle: (UITableViewCellEditingStyle)editingStyle forRowAtIndexPath: (NSIndexPath *)indexPath {if (editingStyle == UITableViewCellEditingStyleDelete) {
        [maTheData removeObjectAtIndex: [indexPath row]];
        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];


        }
    }

1 个答案:

答案 0 :(得分:1)

您正在尝试在同一文件中混合使用Object-C和Swift。下面是你的代码的Swift 3版本。

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete {
        maTheData.remove(at: indexPath.row)
        tableView.deleteRows(at: [indexPath], with: .fade)
    }
}