如何在UIAlertView中从UITextField获取文本

Ina*_*uin 3 iphone objective-c

我正在尝试向tableview添加一个新单元格,并使用UITextField弹出一个警报,以允许用户输入他们希望为新单元格提供的标题.我有代码在按下"+"按钮时用UITextField弹出警报,以及添加新单元格的代码,但是我不知道如何从UITextField获取文本以将其插入到单元格的标题中.

这是我弹出警报的代码:

UIAlertView* alertPopUp = [[UIAlertView alloc] init];
 [alertPopUp setDelegate:self];
 [alertPopUp setTitle:@"Enter event title"];
 [alertPopUp setMessage:@" "];
 [alertPopUp addButtonWithTitle:@"Cancel"];
 [alertPopUp addButtonWithTitle:@"OK"];

 UITextField * eventNameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
 [eventNameField setBackgroundColor:[UIColor whiteColor]];
 [alertPopUp addSubview:eventNameField];
 [alertPopUp show];
Run Code Online (Sandbox Code Playgroud)

我的alertView操作是:

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
 NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];
 if([buttonTitle isEqualToString:@"Cancel"]) {
  return;
 }
 else if([buttonTitle isEqualToString:@"Ok"]) {

 }

}
Run Code Online (Sandbox Code Playgroud)

当按下"确定"时,如何从eventNameField获取文本并将其添加到名为eventList的mutablearray中?谢谢!

DHa*_*ick 8

将eventNameField上的标记设置为有意义的内容

eventNameField.tag = 1001;
Run Code Online (Sandbox Code Playgroud)

然后在alertViewDelegate里面你可以使用 - [UIView viewWithTag:]来获取TextField

UITextField* textField = (UITextField*)[alertView viewWithTag:1001];
Run Code Online (Sandbox Code Playgroud)