2014-06-20 6 views
0

J'ai créé une sous-classe de UIView CustomView. Aussi créé un xib pour cela. Ajout d'une tableView dans xib et de son délégué et de sa source de données au propriétaire du fichier. Puis ajouté cette vue comme suit.UItable dans un UIView personnalisé

nibViews = [[NSBundle mainBundle] loadNibNamed:@"CustomView" 
              owner:self 
              options:nil]; 
self.searchView = [ nibViews objectAtIndex: 0]; 
[self.view addSubview:self.searchView]; 

Il se bloque. Mais tableView:numberOfRowsInSection:]:unrecognized selector sent to instance. Mais j'ai implémenté toutes les méthodes de sources de données.

Puis j'ai supprimé la source de données et j'ai délégué de xib au propriétaire du fichier. suivante Ajouté,

-(void)awakeFromNib 
{ 
    self.table_userlist.delegate = self; 
    self.table_userlist.dataSource = self; 
    [self.table_userlist reloadData]; 

} 

Et maintenant, cela fonctionne.

Aidez-moi à comprendre ce scénario s'il vous plaît. Quelle différence cela fait-il quand je mets datasource, délégue de xib et programme de awakeFromNib. Merci.

+0

Dans quelle méthode avez-vous ce premier bloc de code? – rdelmar

+0

Dans le contrôleur de vue. – Durgaprasad

Répondre

0

Je pense que vous avez implémenté la source de données dans la vue personnalisée et que vous instanciez dans la vue du contrôleur de vue.

Lorsque vous instanciez, vous prenez le propriétaire de la vue pour voir le contrôleur en disant owner:self. donc la source de données doit être en vue contrôleur.

Lorsque vous êtes éveillé de la plume, le code est toujours dans la vue et vous affectez une vue déléguée.

+0

Merci. Je l'ai. Je l'ai utilisé dans viewController "nibViews = [[NSBundle mainBundle] loadNibNamed: @" CreateUserSearchView " propriétaire: auto options: nil];". Donc, viewController est devenu propriétaire du fichier. Comment puis-je personnaliser CustomView en tant que propriétaire? – Durgaprasad

0

et son délégué et le propriétaire de la source de données du fichier

Vous devez définir ces derniers à votre vue personnalisée au lieu du propriétaire du fichier. et implémenter des méthodes de délégué et de source de données dans cette vue.

Questions connexes