2017-05-11 7 views
-4

私はアプリを使っていて、右にスワイプして行を削除するための削除オプションを作成したいと考えています。私は "Expected Declaration"エラーを受け取りました。私は約20分間それを修正しようとしました。予想される宣言エラーTableView

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]; 


    } 
} 
+0

あなたのコードはすべて台無しです。 Swiftと組み合わせたObjC関数(閉じ括弧がありません)と、別の関数の中の関数ANDクラスがあります。また、エラーがスローされた行を教えてくれたことを忘れてしまった、私たちはコンパイラではありません。 – EmilioPelaez

+0

申し訳ありませんが、エラーがこれらの行であること 約 –

+0

- (ボイド)のtableView:(のUITableView *)のtableView committEditStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {IF(editingStyle == UITableViewCellEditingStyleDelete){ [maTheData removeObjectAtIndex。 [indexPath行]]; –

答えて

1

メソッドを呼び出すのではなく、メソッドの中にメソッドがあります。つまり、funcの中のfuncです。さらに、funcの中にclassを置くことも可能ですか? Sandeepが述べたように、Objective CSwiftを混在させています。

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) 
      } 
     } 
    } 
1

あなたは、クラスの残りの部分はスウィフトでありながら、Objective Cのように見えます

- (void)tableView:(UITableView *)tableView committEditStyle: (UITableViewCellEditingStyle)editingStyle forRowAtIndexPath: (NSIndexPath *)indexPath {if (editingStyle == UITableViewCellEditingStyleDelete) { 
[maTheData removeObjectAtIndex: [indexPath row]]; 
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 

を混合しています。あなたが複数の言語を使用する場合、混乱するのは簡単ですが、コンパイラはこのような場合にあなたを助けるためにかなり良い仕事をします。

関連する問題