NSLog на NSString, сохраненном в поле UIText - PullRequest
2 голосов
/ 26 апреля 2011

Я пытаюсь сохранить строку из текстового поля.

У меня есть

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 ]

2 голосов
/ 26 апреля 2011

Связали ли вы IBOutlets с фактическими элементами в Интерфейсном Разработчике?

Похоже, что login может быть nil, поэтому login.text также вернет nil.

1 голос
/ 27 апреля 2011

Для NSString переменной Вы должны использовать приведенный ниже код ...

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

Вот в объективе для Integer %d, String %@, Float %f используется.

Продолжай улыбаться ....

1 голос
/ 26 апреля 2011

Да, это так, потому что вы используете% d, в вашем NSLog вместо этого используется% @:

NSLog(@"%@", loginsaved );
1 голос
/ 26 апреля 2011

Попробуйте вместо этого:

NSLog(@"%@", loginsaved );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...