Passere og tilgangs strukturer ved hjelp av objektiv-c

stemmer
5

Jeg vil vite hvordan du skal passere strukturer til en annen funksjon, og deretter få tilgang til den strukturen i kalt funksjon. Jeg utvikler for iPhone og grunnen jeg bruker structs er slik at jeg kan til slutt sende data som structs til en server som skal bygges i C.

Her er strukturen:

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

Her er jeg rett og slett hente noen bruker sent inn data sammen med noen CoreLocation data og iPhone IP-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];
}

funksjon håndtering struct:

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

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

den kompilatoren kaster denne feilen: request for member 'firstName' in something not a structure or union. Er det struct ut av rammen når jeg prøver å få tilgang til det i den andre funksjonen?

Publisert på 30/06/2009 klokken 15:52
kilden bruker
På andre språk...                            


2 svar

stemmer
7

Du passerer i en peker til en struct. Bruk -> operatør, ikke prikken.

myUser->firstName
Svarte 30/06/2009 kl. 15:54
kilden bruker

stemmer
2

Jeg kan ikke hjelpe, men tror du bør virkelig gjøre at en skikkelig objektiv-C objekt med egenskaper - mer arbeid, men da er det alle vil oppføre seg bedre og leve innenfor NSObject økosystemet.

Svarte 30/06/2009 kl. 16:54
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more