Question

Je veux savoir comment passer des structures à une autre fonction et accéder à la suite de cette structure dans la fonction appelée. Je développe pour l'iPhone et la raison pour laquelle j'utilise struct est pour que je puisse éventuellement transmettre des données en tant que struct à un serveur en cours de construction en C.

Voici la structure:

struct userInfo{
    NSString *firstName;
    NSString *lastName;
    NSString *username;
    NSString *email;
    NSString *ipAddress;
    double latitude;
    double longitude;
};

Ici, je suis tout simplement aller chercher des données utilisateur inputed ainsi que certaines données CoreLocation et IP de l'iPhone Adresse:

- (IBAction)joinButton {
    struct userInfo localUser;

    localUser.firstName = firstName.text;
    localUser.lastName = lastName.text;
    localUser.username = username.text;
    localUser.email = emailAddress.text;
    localUser.ipAddress = localIPAddress.text;
    localUser.latitude = currentLocation.coordinate.latitude;
    localUser.longitude = currentLocation.coordinate.longitude;

    [myNetworkConnection registerWithServer:&localUser];
}

fonction de gestion du struct:

- (void)registerWithServer:(struct userInfo*)myUser {

    printf("First name is: %s", myUser.firstName);//error when compiling
}

complier jette cette erreur: request for member 'firstName' in something not a structure or union. Est-ce que struct hors de portée lorsque je tente d'y accéder à la seconde fonction?

Était-ce utile?

La solution

Vous passez dans un pointeur vers une struct. Utilisez le -.> Opérateur, pas le point

myUser->firstName

Autres conseils

Je ne peux que penser que vous devriez vraiment faire un bon objet que Objective-C avec des propriétés -. Plus de travail, mais il va tous se comportent mieux et à vivre dans l'écosystème NSObject

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