2017-01-01 7 views
-1

loadData()関数にindex.rowを追加するのに助けてくれる人がいます。私はその中に自分のデータをダウンロードし、 loadData関数を使用してこのデータを別のテーブルビューで表示しようとしていますが、私はdidSelectedRowの関数の内部でそれを作成できることを知っていますが、今は関数内で使用する必要があります。私は異なるデータを表示するためにインデックスを持つ行を追加しようとしています。Swift3とXcode8を使用してindex.rowを私の関数に追加する方法

これは私のテーブルビューです。

import UIKit 

class MainTableViewController: UITableViewController { 

var index = 0 

var womenArray = [women]() 
var data : [String] = [] 
let backendless = Backendless() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    data = ["1","2","3","4","5"] 

} 

override func numberOfSections(in tableView: UITableView) -> Int { 

    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

    return data.count 
} 


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 



    cell.textLabel?.text = data[indexPath.row] 

    return cell 
} 



func loadData(){ 

    if index == 0 { // Here where I'am trying to put if index.row == 0 

     let whereClause = "Desc = 'test'" 
     let dataQuery = BackendlessDataQuery() 
     dataQuery.queryOptions.pageSize=50 
     dataQuery.whereClause = whereClause 

     backendless.data.of(women.ofClass()).find(dataQuery,response: {(result: BackendlessCollection?) -> Void in 


      let data = result?.getCurrentPage() 

      for obj in data! as! [women] { 

       self.womenArray.append(obj) 

      } 
      let SubWomenView: WomenSubTableViewController = self.storyboard!.instantiateViewController(withIdentifier: "subwomen") as! WomenSubTableViewController 

      SubWomenView.subWomenArray = self.womenArray 

      self.navigationController?.pushViewController(SubWomenView, animated: true) 



      }, 

                error: { (fault: Fault?) -> Void in 

                print(fault) 

                let alert = UIAlertController(title: "info", message:"يرجى الاتصال بالانترنيت", preferredStyle: .alert) 

                alert.addAction(UIAlertAction(title: "OK", style: .default) { _ in 


                }) 

                self.present(alert, animated: true){} 


     }) 





    }else if index == 1 { 

     let whereClause = "Desc = 'test2'" 
        let dataQuery = BackendlessDataQuery() 
        dataQuery.queryOptions.pageSize=50 
        dataQuery.whereClause = whereClause 

        backendless.data.of(women.ofClass()).find(dataQuery,response: {(result: BackendlessCollection?) -> Void in 


         let data = result?.getCurrentPage() 

         for obj in data! as! [women] { 

          self.womenArray.append(obj) 

         } 
      let SubWomenView: WomenSubTableViewController = self.storyboard!.instantiateViewController(withIdentifier: "subwomen") as! WomenSubTableViewController 
      SubWomenView.subWomenArray = self.womenArray 
      self.navigationController?.pushViewController(SubWomenView, animated: true) 



         }, 

       error: { (fault: Fault?) -> Void in 



      let alert = UIAlertController(title: "info", message:"يرجى الاتصال بالانترنيت", preferredStyle: .alert) 

      alert.addAction(UIAlertAction(title: "OK", style: .default) { _ in 


     }) 

      self.present(alert, animated: true){} 


      }) 







    } 

} 




override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 



    self.loadData() 

} 



} 

答えて

0

あなたloadData()関数にindexPathを渡すことができるように見えます。あなたの関数は

func loadData(at indexPath: IndexPath) { 
    if indexPath.row == 0 { 
     /// etc etc 
    } 
} 

のように見えるとdidSelectRowAtにちょうど

+1

self.loadData(at: indexPath)はどうもありがとうございまし呼び出します。 –

関連する問題