2009-11-15 7 views
0

J'ai une sous-classe de NSProxy conçue pour transférer des messages à une instance d'objet ou à des fonctions Lua si elles sont définies pour le sélecteur. Cela fonctionne dans la plupart des cas. UITableViewController, cependant, est un cas tout à fait différent. Lorsque je configure mon objet proxy avec une instance de UITableViewController (ou une sous-classe de stub), il ne semble jamais recevoir aucun des messages UITableViewDelegate ou UITableViewDatasource que j'attends.Envelopper un UITableViewController dans NSProxy

J'ai les méthodes nécessaires implémentées dans Lua, et elles répondent correctement lorsqu'elles sont appelées manuellement, mais elles ne semblent jamais être appelées lorsque j'ajoute la vue proxy UIViewController à la hiérarchie. Que pourrais-je manquer?

Répondre

1

Vous êtes probablement dérangé par le fait que certaines classes UIKit gèrent leur connexion de délégué. Ils conservent en interne un ensemble de drapeaux indiquant les messages auxquels le délégué peut répondre. Lorsque vous définissez la sortie de délégué ou de source de données, TableView envoie plusieurs messages -respondsToSelector: à l'objet en question et se souvient lesquels ont renvoyé TRUE.

Questions connexes