Ios 如何将用户输入到弹出文本字段中的文本存储到NSString中?

Ios 如何将用户输入到弹出文本字段中的文本存储到NSString中?,ios,nsstring,uitextfield,uialertview,Ios,Nsstring,Uitextfield,Uialertview,我的一些ViewController.h NSString *title1; NSString *sub1; @interface MapMain : UIViewController { IBOutlet UIButton *setter; } 都在同一ViewController.m -(IBAction)Write:(id)sender { [self alertView]; } -(void)alertView { UIAlertView * alert =

我的一些
ViewController.h

NSString *title1;
NSString *sub1;
@interface MapMain : UIViewController
{
    IBOutlet UIButton *setter;
}
都在同一
ViewController.m

-(IBAction)Write:(id)sender
{
    [self alertView];
}

-(void)alertView
{
    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@""
                                                 message:@"Your Info"
                                                 delegate:self
                                                 cancelButtonTitle:@"Cancel"
                                                 otherButtonTitles:@"Done", nil];


    alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
    UITextField * alertTextField1 = [alert textFieldAtIndex:0];
    alertTextField1.keyboardType = UIKeyboardTypeDefault;
    alertTextField1.placeholder = @"Name";

    UITextField * alertTextField2 = [alert textFieldAtIndex:1];
    alertTextField2.keyboardType = UIKeyboardTypeDefault;
    alertTextField2.placeholder = @"Username";
    alertTextField2.secureTextEntry = NO;

    [alert show];
}

因此,当我点击一个特定的按钮时,这段代码正确地使一个带有两个文本字段的弹出窗口出现。我如何将用户按下“完成”按钮时输入的文本分别存储到我的
NSString*title1
NSString*sub1
中,以便在以后按下其他按钮时使用字符串值。当用户按下“取消”按钮时,如何使我的程序不存储文本?

使您的
MapMain
类符合
UIAlertViewDelegate
协议

@interface MapMain : UIViewController <UIAlertViewDelegate>
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 1) //only if cancel is not clicked (done is clicked)
    {
         UITextField * alertTextField1 = [alertView textFieldAtIndex:0];
         UITextField * alertTextField2 = [alertView textFieldAtIndex:1];
         //... do whatever else you need to here like
         title1 = alertTextField1.text;
    }
}