2016-04-24 12 views
0

Swift 2, xcode7Serval Probleme/Fehler beim Deklarieren in einem neuen ViewController

Ein zweiter ViewController in meinem Projekt hinzugefügt. Der erste View-Controller verwendet fast dieselbe Codezeile.

bekommen diese Fehler:

Getter für 'Tableview' mit Objective-C-Selektor 'Tableview' Konflikte mit Getter für 'Tableview' von Super 'UITableViewController' mit dem gleichen Objective-C-Selektor

Das Überschreiben muss genauso zugänglich sein wie sein umschließender Typ

Die veränderbare Eigenschaft 'tableView' des Typs 'UITableView!' Kann nicht überschrieben werden. mit covariant Typ 'UITableView'

Hier ist mein Code:

import UIKit 
import CoreData 

class AllChatsViewController: UITableViewController { 

    var context: NSManagedObjectContext? 

    private var fetchedResultsController: NSFetchedResultsController? 

    private let tableView = UITableView(frame: CGRectZero, style: .Plain)//errors are here 


    private let cellIdentifier = "MessageCell" 

Kann mir jemand dabei helfen?

+0

'UITableViewController' Sicht ist ein' UITableView' dessen Instanzname Tableview (dh Sie schon 'self.tableView' sagen kann, Ohne die Zeile wirft der Fehler den Fehler, mit dieser Zeile in der Kompilierung wird nicht wissen, welche tableView Sie beziehen). Daher ist es nicht notwendig und nicht möglich, den Namen einer Instanzeigenschaft tableView in einer Unterklasse von 'UITableViewController' zu haben. Unterklasse 'UIViewController', wenn Sie das Gefühl haben, dass Sie eine Tabellenansicht benötigen, die nicht die gesamte Ansicht Ihres View-Controllers einnimmt. – beyowulf

+0

Danke! Warum funktioniert diese Codezeile dann in meinem anderen View-Controller? – ryanbilak

+0

Wahrscheinlich, weil das eine Unterklasse von UIViewController ist, die keine Eigenschaft namens tableView hat. Sie würden einen ähnlichen Fehler sehen, wenn Sie diesem View-Controller eine Variablensicht vom Typ UIView hinzugefügt haben, da ein UIViewController bereits eine Eigenschaft namens view besitzt. – beyowulf

Antwort

0

Beywulf korrekt war, änderte ich den VC zu einem TVC und es funktioniert jetzt

Verwandte Themen