2010-04-16 3 views
0

Une réponse affichée pour l'une de mes questions précédentes soulève une autre question; J'appelle un nouveau contrôleur de vue, "RuleBuilder", à partir de mon rootViewController. RootViewController contient une référence à un tableau de contacts. Comment puis-je obtenir une référence à ce tableau dans RuleBuilder? J'ai essayé d'ajouterComment obtenir une référence à un rootViewController à une sous-vue?

UITableViewController *rootViewController; 
... 
@property (nonatomic, retain) UITableViewController *rootViewController; 

à RuleBuilder.h, puis

@synthesize rootViewController; 

dans RuleBuilder.m. Quand j'instancier et pousser le RuleBuilder à l'intérieur RootViewController, je fais ceci:

ruleBuilder.rootViewController = self; 

Mais lorsque je tente cette

[rootViewController.contacts addObject:newContact]; 

à l'intérieur RuleBuilder, je reçois une erreur de compilation à l'effet de « demande de 'contacts' dans quelque chose qui n'est pas une structure "(ou très similaire, je n'ai pas implémenté ce bout de code, mais j'ai essayé une approche identique il y a moins d'une heure pour quelques références que je n'ai jamais pu travailler) .

Merci encore pour votre aide.

Répondre

0

Vous avez déclaré la propriété rootViewController en tant que UITableViewController (qui n'a pas de propriété "contacts"). Il est fort probable que votre contrôleur de vue racine soit une sous-classe de UITableViewController. Si vous avez appelé cette sous-classe RootViewController, la propriété rootViewController dans RuleBuilder doit être déclarée comme

RootViewController *rootViewController 
+0

Cela a été le cas. Merci d'avoir fait la capture. – Andy

Questions connexes