This question already has answers here:
NSMutableArray addObject not working
                                
                                    (3个答案)
                                
                        
                                6年前关闭。
            
                    
我正在尝试使用以下UITextFieldNSMutableArray输入添加到IBActions中,并连接到UITextFields的'did end edit'部分:

- (IBAction) returnKey1
{
    [textInputOne addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
    [textInputOne resignFirstResponder];
    [players addObject:textInputOne.text];
}

- (IBAction) returnKey2
{
    [textInputTwo addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
    [textInputTwo resignFirstResponder];
    [players addObject:textInputTwo.text];
NSLog(@"array: %@",players);
}


并且我已经在viewDidLoad部分中初始化了players数组,如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];
    players = [[NSMutableArray alloc] init];
}


但是数组仍然为“ nil”。有人知道怎么修这个东西吗?

最佳答案

用户点击“返回”时,UITextField不发送任何操作。因此,当用户点击“返回”时,您将不会收到“结束编辑”操作。

UITextField在辞退第一响应者时发送“结束编辑”。通过设置文本字段的委托并实现textFieldShouldReturn:,可以在用户单击“返回”时使其退出第一响应者。首先在ViewController.m的顶部找到类扩展名。编辑它(如果不存在,则添加它)以声明该类符合UITextFieldDelegate

@interface ViewController () <UITextFieldDelegate>

@property (nonatomic, strong) IBOutlet UITextField *textFieldOne;
@property (nonatomic, strong) IBOutlet UITextField *textFieldTwo;

@end


接下来,在类中实现textFieldShouldReturn:以使文本字段退出第一响应者:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return NO;
}


最后,在xib中,将每个文本字段的delegate出口连接到视图控制器(通常是文件的所有者)。

关于ios - 将UITextField输入添加到NSMutableArray ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15231780/

10-13 09:21