Question

J'ai un avertissement et ne peux pas trouver comment faire disparaître.

Dans mon .h j'ai cette ...

-(void)restartTimer;

Alors le dans mon .m je ...

-(void)restartTimer{
TimerViewController *TimerView = [[TimerViewController alloc]
  initWithInt:hStart
  number:mStart];

Je reçois cette erreur:

Attention: pas '-initWithInt: nombre.' Procédé trouvé.

Je suis sûr qu'il est très simple, le code fonctionne toujours. Si quelqu'un peut suggérer des façons de résoudre ce serait génial. Merci

Était-ce utile?

La solution

-(void)restartTimer{
    TimerViewController *TimerView = [[TimerViewController alloc]
        initWithInt:hStart
             number:mStart];
...
}

(1) TimerView doit être timerView, selon les conventions de nommage Objective-C

(2) Votre TimerViewController.h devrait avoir une déclaration quelque chose comme:

- (TimerViewController *) initWithInt: (NSInteger) hStart number: (NSInteger) mStart;

(en supposant que vous voulez être des entiers HStart et mstart).

(3) Vous devez importer TimerViewController.h dans le fichier de mise en œuvre que le code ci-dessus apparaît dans, directement ou indirectement (parce qu'il est importé par autre chose, potentiellement fichier PCH du projet).

(4) un meilleur nom pour le procédé peut être:

- (TimerViewController *) initWithHStart: (NSInteger) hStart mStart: (NSInteger) mStart;

Ou quelque chose de similaire -. À savoir, la méthode doit décrire la nature des arguments qu'il faut

Autres conseils

Cela signifie que le compilateur ne peut pas trouver une telle méthode au moment de la compilation. Il suffit d'inclure l'en-tête de TimerViewController dans votre fichier .m.

Importer un fichier l'en-tête mon .h va résoudre ce problème

Le code fonctionne toujours parce que Objective-C permet d'envoyer des messages à des objets nil ainsi *TimerView est nil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top