Desidero sapere come passare strutture a un'altra funzione e successivamente accedere a quella struttura nella funzione chiamata. Sto sviluppando per l'iPhone e il motivo che sto utilizzando le strutture è così che io possa finalmente passare i dati come le strutture a un server in costruzione in C.Strutture di accesso e accesso che utilizzano l'obiettivo-
Ecco la struttura:
struct userInfo{
NSString *firstName;
NSString *lastName;
NSString *username;
NSString *email;
NSString *ipAddress;
double latitude;
double longitude;
};
Here I 'm semplicemente andare a prendere alcuni dati degli utenti inputed insieme ad alcuni dati CoreLocation e l'indirizzo 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];
}
funzione di gestione della struct:
- (void)registerWithServer:(struct userInfo*)myUser {
printf("First name is: %s", myUser.firstName);//error when compiling
}
il compilatore genera questo errore: request for member 'firstName' in something not a structure or union
. Quella struttura è fuori portata quando provo ad accedervi nella seconda funzione?
Non c'è alcun motivo per inserire oggetti Objective-C all'interno delle strutture. Non farlo O costruisci un oggetto per contenere i tuoi dati, inseriscilo in un NSDictionary o converti tutto in tipi C nativi come char * per la tua struct. –