J'essaie de me concentrer sur Objective-C pour l'iPhone. Mon application compile et fonctionne très bien jusqu'à présent, mais je reçois un avertissement du compilateur dont je ne peux pas me débarrasser.Avertissement du compilateur XCode: 'foo' peut ne pas répondre à -bar
tête pour une classe: (snipped)
@interface PersonDetailViewController : UIViewController {
NSDictionary *person;
}
@property (retain) NSDictionary *person;
@end
mise en œuvre de cette classe: (aussi snipped)
#import "PersonDetailViewController.h"
@implementation PersonDetailViewController
@synthesize person;
@end
Je crée une instance de PersonDetailViewController dans PersonListViewController et appelant:
#import "PersonListViewController.h"
#import "Person.h"
#import "PersonDetailViewController.h"
@implementation PersonListViewController
- (IBAction)myMethod:(id)sender {
NSDictionary *person = [[Person alloc] initFromTestArray:[sender tag]];
[personDetailViewController setPerson:person];
[[personDetailViewController person] describe];
}
@end
Et je suis alors informé que:
warning: 'UIViewController' may not respond to '-setPerson' (Messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments.)
warning: 'UIViewController' may not respond to '-person'
il ne répond en fait très bien, mais je ne peux pas comprendre comment organiser mes en-têtes afin que le compilateur sache ce qui répondra ...
Je suis tout de Google ... espoir J'ai donné assez d'informations et quelqu'un peut aider.
Merci beaucoup!
Aha! Oui. Je jetais personDetailViewController en tant que UIViewController générique, donc le compilateur ne savait pas chercher les méthodes setter et getter synthétisées! En ce qui concerne le premier point de micmoo, c'était moi être stupide et aveugle. Tout semble beaucoup plus propre maintenant et construit sans erreurs! Merci beaucoup! – sinissaar