Xcode Obj - C - 从Alert Box IOS 8检索用户输入的文本

时间:2015-03-03 12:08:43

标签: objective-c xcode object ios8 inputbox

我有以下代码,允许用户将其全名输入到警告框中;

//Creates the alert box
            UIAlertController *alertController = [UIAlertController
                                                  alertControllerWithTitle:@"Congratulations"
                                                  message:@"You Have The High Score, Enter Your Name"
                                                  preferredStyle:UIAlertControllerStyleAlert];
            //Adds a text field to the alert box
            [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField)
            {
              textField.placeholder = NSLocalizedString(@"Enter Full Name", @"Fullname");
            }];

            [self presentViewController:alertController animated:YES completion:nil];
            //Creates a button with actions to perform when clicked
            UIAlertAction *SaveAction = [UIAlertAction
                                         actionWithTitle:NSLocalizedString(@"SAVE",@"Save Action")
                                         style:UIAlertActionStyleDefault
                                         handler:^(UIAlertAction *action)
                                         {
                                             //Stores what has been inputted into the NSString Fullname
                                             NSString *Fullname = alertController.textFields.firstObject;
                                             NSLog(@"Name Stored %@",Fullname);


                                            [self performSegueWithIdentifier:@"NoNextSlide" sender:self];

                                         }];

            [alertController addAction:SaveAction];

你会注意到的;

NSLog(@"Name Stored %@",Fullname);

这将返回以下内容;

2015-03-03 11:54:19.374 Master Game[1864:26681] Name Stored <_UIAlertControllerTextField: 0x7f9cf61ed780; frame = (4 4; 229 16); text = 'Shaun'; clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x7f9cf6084bd0>; layer = <CALayer: 0x7f9cf61854b0>>

如何从那里获得输入的'Shaun'以便我可以保存并在将来使用它?

2 个答案:

答案 0 :(得分:3)

你所谓的FullName实际上并不是一个字符串。它是一个UITextField。 如果你想要输入名称,juste会从这个文本字段中调用text属性。

UITextField *nameField = alertController.textFields.firstObject;
NSString *Fullname = nameField.text;

答案 1 :(得分:1)

试试这个:

//Creates the alert box
UIAlertController *alertController = [UIAlertController
alertControllerWithTitle:@"Congratulations"
message:@"You Have The High Score, Enter Your Name"
preferredStyle:UIAlertControllerStyleAlert];
NSString *Fullname = @""
//Adds a text field to the alert box
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField)
{
textField.placeholder = NSLocalizedString(@"Enter Full Name", @"Fullname");
}];

[self presentViewController:alertController animated:YES completion:nil];
//Creates a button with actions to perform when clicked
UIAlertAction *SaveAction = [UIAlertAction
actionWithTitle:NSLocalizedString(@"SAVE",@"Save Action")
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action)
{
//Stores what has been inputted into the NSString Fullname
UITextField * textField = alertController.textFields.firstObject;
Fullname = textField.text
NSLog(@"Name Stored %@",Fullname);


[self performSegueWithIdentifier:@"NoNextSlide" sender:self];

}];

[alertController addAction:SaveAction];