2015-08-23 6 views
7

Recentemente ho scaricato Xcode 7 che viene fornito con Swift 2. Di seguito è l'errore che ottengo quando provo a conformare la mia classe a UITableViewDataSource e UITableViewDelegate che funziona perfettamente in Xcode 6.2 ma getta un errore in Xcode 7 beta 5Xcode 7 beta 5 Swift 2 conformità ridondante all'errore di protocollo

class TableViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate { 
} 

//error: Redundant conformance of 'TableViewcontroller' to protocol 'UITableViewDataSource'

ho cercato di Google per le risposte, ma non ho potuto ottenere una correzione per esso.

+0

'UITableViewController' è già conforme ai due protocolli. Non c'è bisogno di specificarlo di nuovo. – rmaddy

+0

davvero? quindi dovrei saltare che vado avanti con il mio progetto. Grazie mille uomo –

risposta

26

Non è necessario indicare che lo standard TableViewController è conforme ai due protocolli poiché lo fa già UITableViewController. Quindi anche la tua classe sarà dovuta all'eredità.

Tutto ciò che serve è:

class TableViewController: UITableViewController { 
} 

Sembra Swift2 è più severo su questo che Swift è.

+0

Questo è un po 'fastidioso quando si desidera estrarre 'UITableViewDelegate' e' UITableViewDataSource' in estensioni di protocollo separate nella classe 'UITableViewController' per scopi organizzativi. –

+0

@CraigOtis Sì Lo stesso che voglio fare ma ottenere un errore di conformità ridondante. Puoi aiutare ad estrarre? –

+0

@PinankLakhani Dovresti aprire una domanda separata. –