【问题标题】:Storing each char from a text field in an array?将文本字段中的每个字符存储在数组中?
【发布时间】:2013-02-21 10:40:12
【问题描述】:

我在尝试将文本字段中的输入存储到一个数组中时遇到问题,其中每个字符都位于一个单独的索引处。

我尝试将输入存储为字符串,以便将其全部设为大写并删除空格,但这也给我带来了问题。

我想一旦它被存储,我就可以遍历每个字母并将每个字符添加到一个可变数组中。

提前感谢您的帮助。

【问题讨论】:

标签: ios objective-c


【解决方案1】:

如果您查看UITextFieldDelegate,您可以从该委托中找到许多可能对您的任务有用的好方法。

每次用户在UITextField中按下一个键时都会调用此委托的一个方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
 //assuming dict is declared NSDictionary
 [dict setObject:[yourTextField.text stringByReplacingCharactersInRange:range withString:string] forKey:@"KEY"];
}

【讨论】:

  • 我是 UITextfield 代表,我怎么能把它做成一个数组?
  • 最好使用NSDictionary 这样你也知道密钥NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:someValue forKey:@"A-Key"];
  • 好的,我先试试下面的代码,然后发布我的代码
  • 非常感谢 :),感谢您的帮助 :)
【解决方案2】:
-(void)textFieldDidEndEditing:(UITextField *)textField
{
  NSString *string  = textField.text;
  NSMutableArray *theArray = [NSMutableArray array];
  for (int i = 0; i < [string length]; i++) 
  {
    [theArray addObject:[NSString stringWithFormat:@"%c",[string characterAtIndex:i]]];
  }
}

一旦用户结束编辑,我会进行存储。

【讨论】:

  • 它说错误,ARC不允许将'unichar'(又名'unsigned short')隐式转换为id:/
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多