Iphone 通过objective-c中的类访问变量

Iphone 通过objective-c中的类访问变量,iphone,objective-c,getter-setter,Iphone,Objective C,Getter Setter,在我的项目中,我的第一个视图是一个登录视图,我希望将用户名输入到其他类中。 我真的不知道如何在其他类中获得它,我在stackoverflow中搜索,但没有找到(我尝试了几种方法,但没有成功) 我告诉你我是如何做到这一点的: login.h @interface loginViewController:UIViewController <UITextfieldDelegate>{ IBOutlet UITextField *usernameField; IBOutle

在我的项目中,我的第一个视图是一个登录视图,我希望将用户名输入到其他类中。 我真的不知道如何在其他类中获得它,我在stackoverflow中搜索,但没有找到(我尝试了几种方法,但没有成功) 我告诉你我是如何做到这一点的:

login.h

@interface loginViewController:UIViewController <UITextfieldDelegate>{

    IBOutlet UITextField *usernameField;
    IBOutlet UITextField *passwordField;
    IBOutlet UIButton *loginButton;
    NSString *user;

}
@property (nonatomic, retain) UITextField *usernameField;
@property (nonatomic, retain) UITextField *passwordField;
@property (nonatomic, retain) UIButton *loginButton;
@property (nonatomic, retain) NSString *user;
- (IBAction)login: (id) sender;
- (NSString *)user;

@end

@implementation homeViewController
- (void)viewDidLoad 
{
[super viewDidLoad];
user2 = LoginViewController.user ;   //I tried this after the advice given below, still not working
user2 = LoginViewController.usernameField.text;   //same

NSLog(@"user: %@",user2);

}
我将需要在我的所有项目中使用此值,以显示有关连接的客户端的信息

我只需要一个提示或一个我可以使用的示例代码


编辑:我根据给出的建议更改了代码,如果我遗漏了什么,请告诉我在homeViewController中创建类loginViewController的对象

anyRequiredVariable=login.usernameField.text;//Assuming that login is the object of loginViewController Class.
然后根据需要获取或设置登录变量的值

假设homeViewController中需要NSString,请在homeViewController中创建loginViewController对象

anyRequiredVariable=login.usernameField.text;//Assuming that login is the object of loginViewController Class.
这会解决你的问题

干杯

两件事:

  • 您的主要问题是,您声明了一个方法,该方法接受
    发送方
    参数(
    getUser:(id)发送方
    ),但发送的消息没有冒号或参数(
    getUser
    )。这是两件完全不同的事情

  • Objective-C中的访问器不应以
    get
    开头-它表示其他内容。选择器(基本上是方法名称的Objective-C术语)应该是
    user
    。因此:

    - (NSString *)user {
        return user;
    }
    

  • 我试着像你说的那样做,但似乎我无法像那样访问我的loginViewController,我仍然有一个错误(请求非结构或联合中的成员“text”),我试过:userTest=loginViewController.usernameField.text;其中userTest是一个NSString。如果我遗漏了什么,请告诉我。谢谢你的解释,我想我需要阅读更多关于访问器和选择器的内容。一旦我这样做了,我应该如何调用“user”方法来获取字符串user?就像阿迪蒂亚告诉我的那样?它仍然不起作用,没有它我就不能工作,还有什么可以帮忙的吗?谢谢