Xcode Obj - C - retrieve user inputed text from Alert Box IOS8

被刻印的时光 ゝ 提交于 2019-12-18 09:47:33

问题


i have the following code which will allow a user to input their full name into an alert box;

//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];

You'll notice on the line;

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

This will return the following;

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>>

How do i get just the inputted 'Shaun' from there so that i can save it and use it in future?


回答1:


Try this:

//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];



回答2:


What you call FullName isn't actually a string. It's a UITextField. If you want the inputed name, juste call the text property from this textfield.

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


来源:https://stackoverflow.com/questions/28831468/xcode-obj-c-retrieve-user-inputed-text-from-alert-box-ios8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!