TextField文本未添加到可变数组中

时间:2015-06-04 04:39:43

标签: ios xcode uitextfield nsmutablearray

我正在使用textfield为用户输入他的用户名和密码进行注册,然后将其存储在数组中。但是当我记录我的数组时,它显示为null。这是我的代码

    User = self.Username.text;
    UserPassword = self.UserPass.text;
    LoginPageViewController *loginPage;
    [loginPage.registeredUsernames addObject:User];
    [loginPage.registeredPassword addObject:UserPassword];
    NSLog(@"%@", loginPage.registeredUsernames);
    NSLog(@"%@", loginPage.registeredPassword);

请帮忙

5 个答案:

答案 0 :(得分:0)

loginPage是一个只声明的变量,但不是任何对象的实例。
这意味着是nil,我们发送消息loginPage.registeredUsernames没有任何反应,因为没有对象存在来处理该消息。

答案 1 :(得分:0)

您是否初始化了可变阵列?如果不是,请尝试初始化数组并将直接值保存在数组中,如

[loginPage.registeredUsernames addObject:self.Username.text];
[loginPage.registeredPassword addObject:self.UserPass.text];

答案 2 :(得分:0)

您尚未实例化您的对象。试试这段代码:

User = self.Username.text;
UserPassword = self.UserPass.text;
NSMutableArray *arrayUsernames = [[NSMutableArray alloc] init];
NSMutableArray *arrayPasswords = [[NSMutableArray alloc] init];
LoginPageViewController *loginPage = [[LoginPageViewController alloc] initWithNibName:@"LoginPageViewController" bundle:nil];
[arrayUsernames addObject:User];
[arrayPasswords addObject:UserPassword];
loginPage.registeredUsernames = arrayUsernames;    
loginPage.registeredPassword = arrayPasswords;

答案 3 :(得分:0)

我认为您的LoginPageViewController对象的属性registeredUsernamesregisteredPassword是NSMutableArrays。

如果情况确实如此,给定代码,您将需要实例化LoginPageViewController *loginPage并确保在此对象的init方法中正确实例化registeredUsernamesregisteredPassword属性。有什么影响:

...
_registeredUsernames = [NSMutableArray new];
_registeredPassword  = [NSMutableArray new];
...

请注意,您发布的代码未初始化loginPage对象,可能是帖子中的拼写错误,否则您需要在使用之前初始化对象。

希望这有帮助。

答案 4 :(得分:0)

首先启动LoginPageViewControllers对象和registeredUsernames,然后将registeredPassword数组直接传递给数组。试试这段代码

LoginPageViewController*loginPage = [[LoginPageViewController alloc] initWithNibName:@"LoginPageViewController" bundle:nil];
  loginPage.registeredUsernames=[[NSMutableArray alloc]init];
  loginPage.registeredPassword=[[NSMutableArray alloc]init];


 [loginPage.registeredUsernames addObject:self.Username.text];
 [loginPage.registeredPassword addObject:self.UserPass.text];
 NSLog(@"%@", loginPage.registeredUsernames);
 NSLog(@"%@", loginPage.registeredPassword);