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.Pasar y acceder a las estructuras con el objetivo-c
Aquí está la estructura:
struct userInfo{
NSString *firstName;
NSString *lastName;
NSString *username;
NSString *email;
NSString *ipAddress;
double latitude;
double longitude;
};
Aquí 'm 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];
}
función de manejo de la estructura:
- (void)registerWithServer:(struct userInfo*)myUser {
printf("First name is: %s", myUser.firstName);//error when compiling
}
el compilador arroja este error: request for member 'firstName' in something not a structure or union
. ¿Está esa estructura fuera del alcance cuando intento acceder a ella en la segunda función?
No hay ninguna razón para colocar objetos Objective-C dentro de las estructuras. No lo hagas O crea un objeto para guardar tus datos, colócalo en un NSDictionary o conviértalo todo en C nativo, como por ejemplo char * para tu estructura. –