-1

私のプロジェクトには2つのテーブルビューがあります。メインテーブルのサブテーブルである2番目のテーブルビューで使用するメインテーブルである最初のテーブルビューのインデックスパス.行を取得するのに役立つものはありますか?

これは私のmainTableViewです。

    import UIKit

    class MainTableViewController: UITableViewController {


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
}


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

    self.womenArray.removeAll()

    if (indexPath.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 indexPath.row == 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){}


    })



     }
      }

   }

これが私のSubTableViewです。

 import UIKit

 class SubTableViewController: UITableViewController {

var subWomenArray = [women]()


  let backendless = Backendless()

override func viewDidLoad() {
    super.viewDidLoad()



        }

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

}

// MARK: - Table view data source

override func numberOfSections(in tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return subWomenArray.count
}


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


    if let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as? WomenSubCell{

        let ImgURL = URL(string : self.subWomenArray[(indexPath as NSIndexPath).row].ImgURL!)

        cell.WomenImgView.sd_setImage(with: ImgURL)

        return cell

    }else{

        let cell = WomenSubCell()

        let ImgURL = URL(string : self.subWomenArray [(indexPath as NSIndexPath).row].ImgURL)

        cell.WomenImgView.sd_setImage(with: ImgURL)



        return cell
    }


    }




     }
4

2 に答える 2

0

タプルを使用する方が理解しやすいかもしれません。SubWomenView.subWomenArray =(index.row , self.womenArray)

サブテーブルビューでは、

var subWomenArray : (Int,[女性])

それから subWomenArray.1 はあなたの [women] を参照します

于 2017-01-01T01:18:28.800 に答える
0

サブ テーブル ビューにプロパティを作成し、次の行で配列を割り当てるときに indexPath.row の値を割り当てることができます。

SubWomenView.subWomenArray = self.womenArray

于 2016-12-31T22:59:58.860 に答える