【问题标题】:Unable to add text from UITextField to an Array无法将文本从 UITextField 添加到数组
【发布时间】:2013-02-19 13:22:47
【问题描述】:

目前我有一个自定义视图表格单元格和一个位于其上方的文本字段。我想从UItextfield 获取文本并将其放入NSMutableArray

伪代码:

String text = _textfield.text;
[array addObject:text];
NSLog{array}

在我的头文件中,我创建了文本字段和数组。

我目前在 NSLog 时收到错误:'CustomTableView:[340:11303] array: (null)'

我不确定为什么文本字段中的文本没有被添加到数组中。如果有人能够提供帮助,将不胜感激。

注意 - 我的文本字段在自定义单元格上方,不在其中。我什至尝试直接向数组添加一个字符串并记录它,我得到了同样的错误。所以我会假设这与数组有关。

【问题讨论】:

  • 你检查过 textField.text 是否为 nil 吗?你能发布一些代码吗?可能是你没有创建数组
  • 您的 nsmutablearray 未初始化。在添加文本字段的字符串之前对其进行初始化
  • 您是否使用Interface Builder添加文本字段,如果是,是否通过您的头文件中的IBOutlet链接到_textField
  • Samfisher 你是对的。我没有初始化变量。我假设 addobject 方法做到了。显然我假设错了。 :-)

标签: ios arrays uitableview uitextfield gettext


【解决方案1】:

你有没有初始化你的 Array.take 一个 MutableArray 并初始化它。

       NSMutableArray *array=[NSMutableArray alloc]init];

【讨论】:

    【解决方案2】:

    您提到您已经在头文件中声明了文本字段和数组...

    你初始化变量array了吗?

    例如

    array = [NSMutableArray new];

    【讨论】:

      【解决方案3】:

      看起来您实际上并没有创建数组。在 Objective C 中,你不用在头文件中创建东西,而是声明它们。实现文件(.m 文件)完成所有工作。

      试试这个:

      NSString *text = _textfield.text;
      array = @[text]
      NSLog( @"%@", array );
      

      【讨论】:

        【解决方案4】:

        这就是你应该如何打印你的数组,

        NSLog(@"%@", array);
        

        【讨论】:

          【解决方案5】:

          看起来你是 ios 的新手。仔细阅读 Objective-c 并阅读苹果文档。

           NSString * text = self.textfield.text;
           NSMutableArray *array = [NSMutableArray alloc] init];
           [array addObject:text];
            NSLog(@"%@",array);
          

          【讨论】:

            【解决方案6】:

            对我来说,这是有效的......

            我在 tableviewcell 中获取了一个文本字段。我正在创建基于动态数据的文本字段。我的要求是,我需要获取动态创建的文本字段文本。

            用另一种方法获取文本

            NSIndexPath *indexPath = [tableViewObj indexPathForCell:customCell];
                if (indexPath.row==0)
                {
                    [arrayPhoneNumbers addObject:customCell.textFieldObj.text];
                    NSLog(@"array is :%@",arrayPhoneNumbers);
                }
                else if(indexPath.row==1)
                {
                    [arrayPhoneNumbers addObject:customCell.textFieldObj.text];
                    NSLog(@"array is :%@",arrayPhoneNumbers);
            
                }
                else if(indexPath.row==2)
                {
                    [arrayPhoneNumbers addObject:customCell.textFieldObj.text];
                    NSLog(@"array is :%@",arrayPhoneNumbers);
                }
            

            像这样我已将文本字段文本添加到数组中。如果您有任何疑问,请告诉我。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-12-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多