Pourquoi pensez-vous avoir besoin d'un délégué? Pourquoi ne pas simplement supprimer la ligne "controller.delegate = self". Dans le cas contraire, vous devez implémenter un système de délégué de la manière décrite ci-dessous ou bien faire de MyRidesListView une sous-classe d'un viewcontroller qui implémente des délégués.
Il semble que vous ayez copié et collé un exemple de code qui utilise un délégué, puis substitué votre propre viewcontroller qui ne fournit pas de délégué. Si vous ne savez pas à quoi sert le délégué, effacez simplement cette ligne.
Je vais couper et coller du code réelle d'un de mes programmes de test pour vous montrer comment il est fait:
à partir du fichier d'interface:
Ajouter une instance de délégué variable à votre classe et de le rendre une propriété de sorte que vous pouvez utiliser la syntaxe "blah.delegate = foo" pour le définir.
@interface BAPClient : NSObject {
CGSize imageSize;
id <BAPClientDelegate> delegate;
}
@property (nonatomic, readonly) CGSize imageSize;
@property (nonatomic, assign) id <BAPClientDelegate> delegate;
@end
// define the protocol spoken. (what the delegate must implement)
@protocol BAPClientDelegate
- (void)addTile:(BAPTile *)tile;
@end
dans la mise en œuvre, vous devez appeler le délégué au moment opportun:
- (void)deliverTile:(BAPTile *) tile {
NSLog(@"%s tile=%p",__FUNCTION__,tile);
if ([self delegate])
[[self delegate] addTile:tile];
[tile release];
}
Qu'est-ce que MyRidesListView? Quelle est la classe parent? – hanno
Il s'agit d'un UITableViewController. –