通和访问结构使用的Objective-C(Pass and access structures us

2019-07-29 10:21发布

我想知道怎样的结构传递给另一个函数,并随后访问被调用函数的结构。 我在为iPhone开发,我使用结构的原因是,我可以最终通过数据结构的服务器建在C.

这里的结构:

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

在这里,我只是取了一些CoreLocation数据和iPhone的IP地址以及一些用户inputed数据:

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

功能处理的结构:

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

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

:在编译器引发此错误request for member 'firstName' in something not a structure or union 。 是结构超出范围时,我尝试访问它的第二个功能?

Answer 1:

你传递一个指针结构。 使用 - >操作符,而不是点。

myUser->firstName


Answer 2:

我不禁想你应该真正使与性能的适当目标-C的对象 - 更多的工作,但随后都会表现得更好,活得NSObject的生态系统中。



文章来源: Pass and access structures using objective-c