2015-08-21 4 views
0

I намерение соединить два UITableView в одном ViewController с двух разных классов с разными данными, а затем получить выбранный элемент, но я не могу заставить его работатьSwift UITableView выбран элементу таблицы

AppController.swift

класс AppController: UIViewController {

@IBOutlet weak var projects_TableView: UITableView! 
@IBOutlet weak var hours_TableView: UITableView! 

var projects_DataSource: TableViewProjects? 
var hours_DataSource: TableViewHours? 

override func viewDidLoad() { 
    super.viewDidLoad() 

    projects_DataSource = TableViewProjects() 
    hours_DataSource = TableViewHours() 
    projects_TableView.dataSource = projects_DataSource 
    hours_TableView.dataSource = hours_DataSource 

    println("Table Sources Success") 
} 


func TableProjectsSelected() { 
    println("Selected Project Table") 

    self.performSegueWithIdentifier("projectTable", sender: AnyObject?()) 
} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "projectTable" { 
      //do stuff 
      println("projectTable ID") 
     } 
    } 

и TableViewProjects.swift

var items: [String] = ["Project 1", "Project 2", "Project 3"] 

override init() { 
    super.init() 
} 


//TABLE FUNCTIONS 
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
    return items.count 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
{ 
    let cell:UITableViewCell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "projectcell") 

    cell.textLabel!.text = items[indexPath.row] 

    return cell 
} 

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    println("Select From Class") 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let appController: AppController = storyboard.instantiateViewControllerWithIdentifier("SelectProjectAndHour") as! AppController 

    appController.TableProjectsSelected() 

} 

Я не могу получить ответ от элемента, выбранного из TableViewProjects.swift

ответ

0

Может быть, вы должны добавить эти коды ниже:

projects_TableView.delegate = projects_DataSource 
hours_TableView.delegate = hours_DataSource 
+0

Я пропустил добавить делегата, спасибо. – Onsterion

Смежные вопросы