我是xcode的新手,我坚持这一行动。 我试图在单击按钮时向字段添加“否定”符号或“ - ”。
当有人在字段中输入数字时,以下代码有效...它会向其添加或删除负号。
但是,如果该字段为空并且您单击该按钮则会引发错误。
以下是代码:
- (IBAction)fPosNeg:(id)sender {
NSMutableString *str = [userFahrenheit.text mutableCopy];
char iChar = [str characterAtIndex:0];
if (iChar == '-') {
userFahrenheit.text = [userFahrenheit.text substringFromIndex:1];
} else if (iChar != '-') {
[str insertString:@"-" atIndex:0];
userFahrenheit.text = str;
} else {
userFahrenheit.text = [NSString stringWithFormat:@"-"];
}
}
这是错误:
由于未捕获的异常'NSRangeException'而终止应用程序,原因: ' - [__ NSCFString characterAtIndex:]:范围或索引越界'
答案 0 :(得分:2)
你需要在调用之前进行检查 - > [str characterAtIndex:0];
检查将是
if(![str isEqualToString:@""]) // so that if string is blank, you cant access its character at index 0
答案 1 :(得分:0)
NSMutableString *str = [NSMutableString stringWithString:@"-Test"];
char test = [str characterAtIndex:0];
NSMutableString *strFinal;
if (test == '-') {
strFinal = [NSMutableString stringWithString:[str substringFromIndex:1]];
}
else if (test != '-') {
[str insertString:@"-" atIndex:0];
strFinal=str;
}
else {
strFinal=[NSString stringWithFormat:@"-"];
}
NSLog(@"%@",strFinal);
你也可以使用它。
我认为这可以解决你的问题。