zu verwenden Ich habe zwei Tabellenansichten in meinem Projekt, Kann mir helfen, den Index path.row von erste Tabellenansicht, die die Haupttabelle ist, die in der zweiten Tabellenansicht verwendet wird, die die Untertabelle der Haupttabelle ist.Wie bekomme ich den Index path.row der ersten Tabellenansicht, um es in der zweiten Tabellenansicht mit Swift3, Xcode8
Dies ist meine 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){}
})
}
}
}
und dies ist meine 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
}
}
}
Es ist nicht klar, was Sie fragen. Sind beide Tabellenansichts-Controller in einem übergeordneten Ansichts-Controller integriert und werden sie gleichzeitig auf dem Bildschirm angezeigt, oder wird auf einen Link zum zweiten Tabellenansicht-Controller geklickt? Wenn man zum nächsten führt, wie ruft man den zweiten View-Controller auf? Sie müssen mehr Informationen bereitstellen. –
Ich benutze die if-Anweisung in Meine Haupttabelle, um Daten für jeden Index path.row herunterzuladen, jetzt möchte ich diese if-Anweisungen in der Untertabelle verwenden, statt der Haupttabelle zum Download von Daten können Sie helfen? . –
Ich verstehe immer noch nicht. Ist die zweite Tabellenansicht ein anderer Bildschirm? Also ist das ein Master/Detail Setup? –