2015-07-28 20 views
17

Ho un ViewController nello MainstoryBoard. Ho aggiunto il TableView ad esso.Swift: TableView in ViewController

MainStoryBoard:

enter image description here

Inoltre ho un array di fuori della classe ViewController e voglio gli oggetti all'interno della matrice per essere mostrato nella TableView.

Non riesco a capire come farlo. Ho collegato il delegato tra lo TableView e lo ViewController.

+1

fare riferimento a questo link http://www.ralfebert.de/tutorials/ios-swift-uitableviewcontroller/ https://www.weheartswift.com/how-to-make-a-simple-table-view-with -ios-8-and-swift/ –

+1

@DharmeshDhorajiya Ottimo, funziona! "weheartswift" ha la risposta – Eliko

+1

Benvenuto in qualsiasi momento @Eliko, tutto questo va bene su google. –

risposta

30

Si aggiunge una nuova variabile di istanza tableview sotto la dichiarazione della classe.

@IBOutlet 
var tableView: UITableView! 

per conformarsi al protocollo di UITableViewDelegate e UITableViewDataSource basta aggiungere li separati da virgole dopo UIViewController nella dichiarazione della classe

Dopo di che abbiamo bisogno per attuare le tableView(_:numberOfRowsInSection:), tableView(_:cellForRowAtIndexPath:) e tableView(_:didSelectRowAtIndexPath:) metodi nella classe ViewController e lasciare per il momento sono vuoti

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 
    ... 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 0 // your number of cell here 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     // your cell coding 
     return UITableViewCell() 
    } 

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     // cell selected code here 
    } 
} 
+0

Pensavo che avrebbe funzionato, ma quando avrò raggiunto la mia funzione do_table_refresh e chiamo: 'self.tableView.reloadData()' fallisce con 'errore fatale: inaspettatamente trovato nil mentre si scartano un valore opzionale ' –

+0

Sarà necessario impostare' self.tableView.delgate = self' e 'self.tableView.dataSource = self' nel metodo' viewDidLoad'. –

1

Potrei essere in ritardo e potrebbe averlo risolto ormai. L'errore che si ottiene è dovuto alla variabile o alla costante che restituisce un valore nullo. per testare questo si può assegnare un valore ad esso (hardcoded) e controllare il codice completo se funziona e poi cambiarlo nel proprio array, sfortunatamente faccio roba programmaticamente e non ho familiarità con lo storyboard.

se condividi il tuo codice ti saremo d'aiuto se questo non è ancora ordinato.

Problemi correlati