In your tableviewcontroller implement this code
class TableviewController: UITableViewController {
var array : [DayObject]? = [DayObject(day: "Sunday", daytext: "SundayText"),DayObject(day: "Monday", daytext: "MondayText"),DayObject(day: "tuesday", daytext: "TuesdayText"),DayObject(day: "Wednesday", daytext: "WednesdayText")]
var object: DayObject?
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
extension TableviewController {
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (array!.count)
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell")
cell?.textLabel?.text = array![indexPath.row].day
return cell!
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
object = array![indexPath.row]
performSegueWithIdentifier("NVC", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "NVC" {
let dvc = segue.destinationViewController as? ViewController2
dvc!.object = object
}
}
}
and make a datamodel as below:
import UIKit
class DayObject: NSObject {
var day: String!
var daytext: String!
init(day: String, daytext: String) {
self.day = day
self.daytext = daytext
}
}
and in your view controller you can collect the object
class ViewController2: UIViewController {
var object: DayObject!
override func viewDidLoad() {
super.viewDidLoad()
print(object.daytext)
}
}
By datamodel approach you dont have to make different view controllers for each day
happycoding :-)