换句话说,我正在寻找如何使用5选项卡基于选项卡的视图控制器,当我触摸一个选项卡时,我被带到一个表视图 - 静态数组 - 这将然后有一个详细视图控制器。
所以tab-table view-detail view。
我是swift的新手,所以我确定如何正确地说出这一点,但我想知道如何使用标签管理/添加多个表格视图到我的项目。我注册了在线iOS快速课程,但他们只涉及单视图应用程序。任何帮助或参考将不胜感激。
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
var taskArray:[TaskModel] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let task1 = TaskModel(task: "Study French", subTask: "Verbs", date: "04/14/2014")
let task2 = TaskModel(task: "Eat Dinner", subTask: "Burgers", date: "01/14/2014")
taskArray = [task1, task2, TaskModel(task: "Gym", subTask: "Leg Day", date: "01/14/2014")]
tableView.reloadData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showTaskDetail" {
let detailVC: TaskDetailViewController = segue.destinationViewController as TaskDetailViewController
let indexPath = self.tableView.indexPathForSelectedRow()
let thisTask = taskArray[indexPath!.row]
detailVC.detailTaskModel = thisTask
}
}
//UITableViewDataSource
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return taskArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let task = taskArray [indexPath.row]
var cell: TaskCell = tableView.dequeueReusableCellWithIdentifier("myCell") as TaskCell
cell.taskLabel.text = task.task
cell.descriptionLabel.text = task.subTask
cell.dateLabel.text = task.date
return cell
}
//UITableViewDelegate
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("showTaskDetail", sender: self)
}
答案 0 :(得分:0)
我认为你需要将这些问题分开来开始。
UITabController有viewControllers。 UITabController中关联的每个UIViewController都可以拥有自己的实现文件和接口。在那里,您可以添加UITableView并符合UITableViewDelegate。
如果您想将多个UITableView连接到一个UIViewController,那么最好使用相应的XIB文件和实现文件创建自定义控件并加载到UIViewController中。这样您就可以在它们之间抽象和清除代码。还要检查IBDesignable和IBInspectable。
您可能希望在它们之间共享数据,或者通过包含表视图控件的UIViewController传递它们,如果需要对特定引用执行操作,或者创建Repository来提供数据。