【发布时间】:2018-02-04 21:01:03
【问题描述】:
import Foundation
import UIKit
class ServiceLines: UIViewController{
@IBOutlet weak var servicesTableView: UITableView!
var ServiceA: [Service] = []
var identities = [String]()
override func viewDidLoad(){
super.viewDidLoad()
ServiceA = Services()
identities = ["Service1","Service2","Service3"]
}
func Services() -> [Service]{
var releaseServices: [Service] = []
let Service1 = Service(titled: "Test1", description: "Test", image: #imageLiteral(resourceName: "Test"))
let Service2 = Service(titled: "Test2", description: "Test", image: #imageLiteral(resourceName: "Test"))
let Service3 = Service(titled: "Test3", description: "Test", image: #imageLiteral(resourceName: "Test"))
releaseServices.append(Service1)
releaseServices.append(Service2)
releaseServices.append(Service3)
return releaseServices
}
}
extension ServiceLines: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return ServiceA.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let ServiceB = ServiceA[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier:"ServicesTableViewCell") as! ServicesTableViewCell
cell.setServices(service: ServiceB)
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
func prepareForSegue(segue: UIStoryboardSegue, sender: Any) {
let vcName = identities[indexPath.row]
let viewController = storyboard?.instantiateViewController(withIdentifier: vcName)
self.navigationController?.pushViewController(viewController!, animated: true)
}
}
}
该单元格填充了正确的数据,但是当我在模拟器中单击一个单元格时,它不会移动到上面的相应视图控制器是代码。另外,如何将填充在单元格内的特定数据(例如文本和图像资产)移动到相应的视图控制器(我应该将其添加到该特定视图的每个相应的 swift 文件中还是更简单的方法)?
【问题讨论】:
标签: swift tableview viewcontroller