如何将index.row添加到我的函数使用Swift3和Xcode8

问题描述:

任何人都可以帮助我将index.row添加到函数loadData(),我有一个表视图,我下载我的数据,我试图在使用loadData函数的另一个表视图中查看这些数据,我知道我可以在didSelectedRow函数内部创建它,但现在我需要在函数内部使用它。我试图用索引添加行来查看不同的数据。如何将index.row添加到我的函数使用Swift3和Xcode8

这是我的表格视图。

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() 

} 



} 

看起来你可以通过indexPath到您loadData()功能。那么你的函数看起来像

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

didSelectRowAt就叫self.loadData(at: indexPath)

+1

非常感谢你。 –