class servicehallviewcontroller: uiviewcontroller ,uitableviewdelegate , uitableviewdatasource { var tableview : Uitableview? override func viewdidload () { super.viewdidload () //self.title = "Myswift" setupviews () // do any additional setup after loading the view. } func setupviews () { // Initialize the TableView and set the Frame self.tableview = uitableview ( frame:self.view!. FRAME) //set proxy object for TableView self.tableview!. delegate = self self.tableview!. datasource = self self.tableview!. RegisterClass (uitableviewcell.self, forcellreuseidentifier: "Cell") //add TableView to view attempt on self.view?. Addsubview (self.tableview!) } func tableview (TableView: Uitableview, numberofrowsinsection section:int) -> Int { return 20; } // row display. implementers should *always* try to reuse cells by setting each cell ' s reuseidentifier and querying for available reusable cells with dequeuerEusablecellwithidentifier: // cell gets various attributes set automatically based on table (separators) and data source ( Accessory views, editing controls) func TableView (Tableview:uitableview, cellforrowatindexpath indexpath:nsindexpath) -> uitableviewcell { let cell = tableview .dequeuereusablecellwithidentifier ("cell", forindexpath: indexpath) as! uitableviewcell cell.textlabel!. Text = string (format: "%i", indexpath.row+1) return cell }
Swift Pure Code demo