【发布时间】:2011-12-03 00:04:08
【问题描述】:
我已经在网站上搜索了我的答案, 但是我认为这也是我陷入这个问题的原因。
我正在尝试将我的 1 个且唯一的文本字段限制为 10 个字符且仅包含数字。
以下是本网站上其他问题的代码。 我想要做的是将这段代码混合在一起以达到我的极限
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:LEGAL] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
NSString *newString = [myTextField.text stringByReplacingCharactersInRange:range withString:filtered];
return !([newString length] > 10);
}
在我单击文本字段之前,我的构建没有问题...但是我收到一个绿色箭头警告,指出“线程在断点 1 处停止” 我现在尝试了一些不同的东西,但现在觉得我很难过,我希望这对这里的人来说真的很容易......
他们将使用下面的代码单独(一个或另一个)工作,但我似乎无法让他们一起工作。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [myTextField.text stringByReplacingCharactersInRange:range withString:string];
return !([newString length] > 10);
}
这会将我的输入限制为 10 还有……
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:LEGAL] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
}
这也将我的输入限制为仅没有问题的数字。 前提是我将 LEGAL 定义为仅数字...
我似乎无法让他们一起工作...... 谁能帮我解决这个问题???
【问题讨论】:
-
设置 NSZombieEnable 以获得确切的异常。它将在控制台中向您显示详细的异常。请找出并发布例外情况。
-
您遇到了断点。您说它停止并说“线程在断点 1 处停止”。删除断点(通过按 Command+6 很容易找到)或禁用断点。
标签: input nsstring uitextfield limit