Délégué UITableView utilisant les extensions swift
C'est assez simple question je pense. J'ai séparé mon UITableView délégué /sources de données dans leurs propres extensions
//MARK: - UITableView Data Source/Delegate
extension TweetsViewController: UITableViewDataSource {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! TweetCell
return cell
}
}
Toutefois, de l'avis du contrôleur lui-même j'ai besoin de régler le tblView délégué
class TweetsViewController : UIViewController {
@IBOutlet weak var tblView: UITableView!
var fetchedResultsController : NSFetchedResultsController!
//MARK: View Management
override func viewDidLoad() {
super.viewDidLoad()
tblView.dataSource = self
}
}
Cependant, depuis le point de vue du contrôleur est ni conforme aux protocoles, mais ayant l'extension manipuler, alors comment puis-je définir explicitement la source de données et délégué pour la tableView? Merci!
source d'informationauteur zic10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez diviser en une extension, vous pouvez vérifier dans le la documentation d'apple l'article sur les Extensions de Protocoles de traitement.
Ici, je dois mettre en place un minimum de code à faire ce que vous demandez, check it out.
Dans Swift 3 et au-dessus de la table à la vue de source de données et délégué méthodes changé.
"la vue-contrôleur est ni conforme aux protocoles, mais ayant l'extension gérer"
C'est incorrect. L'extension permet d'avoir une vue contrôleur conforme aux protocoles, et la source de données et délégué peut être définie comme d'habitude, par exemple:
self.tableView.delegate = self