Je suis très familier avec l'écriture d'applications basées sur VB mais je suis nouveau dans Xcode (et Objective C). J'ai parcouru de nombreux didacticiels sur le Web et compris les bases et comment interagir avec Interface Builder etc Cependant, je suis vraiment aux prises avec quelques concepts de base du langage C et je serais reconnaissant pour toute aide que vous pouvez offrir. Voici mon problème ...Comment appeler une fonction à partir d'un autre fichier de classe
J'ai une application iphone simple qui a un contrôleur de vue (FirstViewController) et une sous-vue (SecondViewController) avec des fichiers d'en-tête et de classe associés.
Dans le FirstViewController.m ont une fonction définie
@implementation FirstViewController
- (void) writeToServer:(const uint8_t *) buf {
[oStream write:buf maxLength:strlen((char*)buf)];
}
Il n'a pas vraiment ce que la fonction est.
Je veux utiliser cette fonction dans mon SecondViewController, donc dans SecondViewController.m importer des FirstViewController.h
#import "SecondViewController.h"
#import "FirstViewController.h"
@implementation SecondViewController
-(IBAction) SetButton: (id) sender {
NSString *s = [@"Fill:" stringByAppendingString: FillLevelValue.text];
NSString *strToSend = [s stringByAppendingString: @":"];
const uint8_t *str = (uint8_t *) [strToSend cStringUsingEncoding:NSASCIIStringEncoding];
FillLevelValue.text = strToSend;
[FirstViewController writeToServer:str];
}
Cette dernière ligne est où mon problème. XCode me dit que FirstViewController peut ne pas répondre à writeToServer. Et quand j'essaie d'exécuter l'application, il se bloque lorsque cette fonction est appelée.
Je suppose que je ne comprends pas complètement comment partager des fonctions et, plus important encore, la relation entre les classes.
Dans un monde idéal, je créerais une classe globale pour placer mes fonctions et les appeler au besoin.
Tout conseil reçu avec gratitude.
Vous feriez mieux de délégué utilisation –
J'ai jusqu'à voté urs espèrent récupérer dans ma réponse aussi –