保存在UITextfield中的NSString上的NSLog

时间:2011-04-26 14:55:37

标签: iphone xcode nsuserdefaults nslog

我正在尝试从文本字段中保存字符串。

我有一个

IBOutlet UITextField *login;
IBOutlet UITextField *pass;
... 

@synthesize login,pass;
...

当我点击按钮时,此方法正在运行:

- (IBAction) saveAuthentication: (id)sender {

    //show an error message
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login et Mot de passe" message:@"Votre login et votre mot de passe sont enregistrés."delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alert show];[alert release];

    //extract the login from the field and put in in Log
        NSString *loginsaved = login.text;
    NSString *passsaved = pass.text;
        NSLog(@"%d", loginsaved );

        //save the login and pass in the phone
        NSUserDefaults *pref = [NSUserDefaults standardUserDefaults];
    [pref setObject:login.text forKey:@"login"];
    [pref setObject:pass.text forKey:@"pass"];

}

当我执行它时,控制台显示0而不是我输入的登录...

一百个以上的帮助

4 个答案:

答案 0 :(得分:2)

您是否将IBOutlets链接到Interface Builder中的实际元素?

听起来像登录可能是nil,所以login.text也会返回nil。

答案 1 :(得分:1)

请改为尝试:

NSLog(@"%@", loginsaved );

答案 2 :(得分:1)

是的,因为您在NSLog中使用%d而不是使用%@:

NSLog(@"%@", loginsaved );

答案 3 :(得分:1)

对于NSString变量您应该使用以下代码...

 NSString *loginsaved = login.text;
 NSString *passsaved = pass.text;
 NSLog(@"%@", loginsaved );

这里是客观的 整数 %d字符串 %@ Float %f

继续微笑....