Ich verstehe nicht, warum meine App nicht kompiliert. Dies ist der aktuell ausgegebene Wert:Compile & Build-Fehler im Zusammenhang mit "Typ 'ViewController' entspricht nicht dem Protokoll 'UITableViewDataSource'"
Antwort
Sie fehlen, um einige Methoden anzugeben, die in den Protokollen deklariert sind, von denen Ihre Klasse abgeleitet ist.
Funktabelle (UITableView, ZelleForRowAt: IndexPath) Erforderlich. Fragt die Datenquelle nach einer Zelle ab, die an einer bestimmten Position der Tabellenansicht eingefügt werden soll.
Funktabelle (UITableView, numberOfRowsInSection: Int) Erforderlich. Weist die Datenquelle an, die Anzahl der Zeilen in einem bestimmten Abschnitt einer Tabellenansicht zurückzugeben.
Zumindest die beiden obigen Methoden müssen in Ihrer Klasse deklariert werden, sonst erhalten Sie den Fehler.
Dies sind nur die erforderlichen Methoden, aber für die korrekte Funktionsweise müssen Sie andere definieren. Siehe Apple-Dokumentation auf UITableViewDataSource Protokoll
In dem Video, das ich mir angesehen habe, war der obige Code alles, was enthalten war und er konnte erfolgreich starten. Worin sollte der Code geändert werden, damit die App erfolgreich kompiliert werden kann? –
Vielleicht wurde das Video für eine ältere iOS-Version gemacht ... schwer zu sagen. Implementieren Sie die Funktionen, die für die hinzuzufügenden Protokolle als erforderlich gekennzeichnet sind, und der Fehler sollte verschwinden. – Sergiob
In Swift 3 alle Methodensignaturen haben geändert:
func numberOfSections(in tableView: UITableView) -> Int { }
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { }
func sectionIndexTitles(for tableView: UITableView) -> [String]? { }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {}
- 1. 'ViewController' entspricht nicht dem Protokoll 'UITableViewDataSource' swift
- 2. ViewController entspricht nicht dem Protokoll 'UITableViewDataSource
- 3. Typ 'ThirdViewController' entspricht nicht dem Protokoll UITableViewDataSource
- 4. Typ viewcontroller entspricht nicht dem Protokoll uitaviewviewdatasource
- 5. Typ 'ViewController' entspricht nicht dem Protokoll 'UICollectionViewDataSource'
- 6. Typ Viewcontroller entspricht nicht Protokoll
- 7. Fehler empfangen "Typ ViewController entspricht nicht dem Protokoll 'UITableViewDataSource ...", obwohl ich die erforderlichen Funktionen habe
- 8. ViewController entspricht nicht dem Protokoll 'UISearchResultsUpdating'
- 9. Typ ‚Viewcontroller‘ entspricht nicht Protokoll ‚MCSessionDelegate‘
- 10. PickerView: Typ 'ViewController' entspricht nicht dem Protokoll 'UIPickerViewDataSource'
- 11. Typ 'MainVC' entspricht nicht dem Protokoll 'UIViewControllerPreviewingDelegate'
- 12. Swift: Typ "ViewController" entspricht nicht dem Protokoll "UIPageViewControllerDataSource"
- 13. Typ entspricht nicht dem Protokoll
- 14. PickerView - ViewController entspricht nicht dem Protokoll UIPickerViewDataSource
- 15. Typ 'Int' entspricht nicht dem Protokoll 'BooleanType'?
- 16. Typ entspricht nicht dem Protokoll Swift
- 17. Typ 'customDataObject' entspricht nicht dem Protokoll 'Sequence'
- 18. Typ '()' entspricht nicht dem Protokoll 'Boolean Type'
- 19. Argo: Typ entspricht nicht dem Protokoll 'Decodable'
- 20. Type'ViewController‘entspricht nicht Protokoll‚UITableViewDataSource‘
- 21. Typ 'AnyObject' entspricht nicht dem Protokoll 'NSFetchRequestResult'
- 22. Typ MyViewController entspricht nicht dem Protokoll 'STPPaymentContextDelegate'
- 23. Typ CCC entspricht nicht dem Protokoll 'NSObjectProtocol'
- 24. Typ 'Any' entspricht nicht dem Protokoll 'Sequence'
- 25. Typ entspricht nicht dem Protokoll 'AVCaptureFileOutputRecordingDelegate'
- 26. Typ 'AnyObject' entspricht nicht dem Protokoll 'Hashable'
- 27. viewcontroller konform zum Protokoll "UITableViewDataSource, Video Mode Delegate"?
- 28. Swift: Typ nicht entspricht Protokoll
- 29. Entspricht nicht dem Protokoll "UIPickerViewDataSource"
- 30. UIPageViewController - entspricht nicht Protokoll
Alle Ihre Tableview Methoden falsch geschrieben/miscapitalized Wörter oder verwenden swift 2 Methodensignaturen, die in schnellen unterschiedlich sind 3 Verwenden Sie Xcode Autocomplete, um die richtigen Signaturen zu erhalten. – dan
Welche Swift-Version redest du? Der Code ist ein Swift 2/3 Mixle-Mangle. – vadian
Ich glaube, ich verwende Swift Version 3. Ich bin mir nicht sicher, wie man die Swift-Version bestimmt. –