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?
'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
Danke! Warum funktioniert diese Codezeile dann in meinem anderen View-Controller? – ryanbilak
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