Pregunta

Quiero saber cómo pasar estructuras a otra función y, posteriormente, acceder a esa estructura en la función llamada. Estoy desarrollando para el iPhone y la razón por la que estoy usando estructuras es por lo que con el tiempo puede pasar datos como estructuras a un servidor que se construyen en C.

Aquí está la estructura:

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

Aquí estoy simplemente ir a buscar algunos datos inputed usuario junto con algunos datos CoreLocation y la dirección IP del iPhone:

- (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];
}

Cuidado de la struct función:

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

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

el compilador lanza este error: request for member 'firstName' in something not a structure or union. Es que struct fuera de alcance cuando intento acceder a ella en la segunda función?

¿Fue útil?

Solución

Está pasando en un puntero a una estructura. Utilice el -.> Operador, no el punto

myUser->firstName

Otros consejos

No puedo evitar pensar que realmente debería hacer que un objeto propio de Objective-C con propiedades -. Más trabajo, pero luego todo va a comportarse mejor y vivir dentro del ecosistema NSObject

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top