Xcode6 从字符串Xcode中删除字符
我使用以下代码向可变字符串添加一个字符,然后从自定义键盘将其放入文本视图Xcode6 从字符串Xcode中删除字符,xcode6,nsrange,custom-keyboard,Xcode6,Nsrange,Custom Keyboard,我使用以下代码向可变字符串添加一个字符,然后从自定义键盘将其放入文本视图 - (IBAction) press:(id)sender { [[UIDevice currentDevice] playInputClick]; if (sender == AEE) { self.BACK.hidden = NO; A = @"A"; NSLog(@"sender:%@",sender); } if (sender ==
- (IBAction) press:(id)sender {
[[UIDevice currentDevice] playInputClick];
if (sender == AEE) {
self.BACK.hidden = NO;
A = @"A";
NSLog(@"sender:%@",sender);
}
if (sender == BEE) {
self.BACK.hidden = NO;
A = @"B";
}
if (sender == CEE) {
self.BACK.hidden = NO;
A = @"C";
}
if (sender == DEE) {
self.BACK.hidden = NO;
A = @"D";
}
if (sender == EEE) {
self.BACK.hidden = NO;
A = @"E";
}
if (sender == EFF) {
self.BACK.hidden = NO;
A = @"F";
}
if (sender == ONE) {
self.BACK.hidden = NO;
A = @"1";
}
if (sender == TWO) {
self.BACK.hidden = NO;
A = @"2";
}
if (sender == THREE) {
self.BACK.hidden = NO;
A = @"3";
}
if (sender == FOUR) {
self.BACK.hidden = NO;
A = @"4";
}
if (sender == FIVE) {
self.BACK.hidden = NO;
A = @"5";
}
if (sender == SIX) {
self.BACK.hidden = NO;
A = @"6";
}
if (sender == SEVEN) {
self.BACK.hidden = NO;
A = @"7";
}
if (sender == EIGHT) {
self.BACK.hidden = NO;
A = @"8";
}
if (sender == NINE) {
self.BACK.hidden = NO;
A = @"9";
}
if (sender == ZERO) {
self.BACK.hidden = NO;
A = @"0";
}
if (display.length <= 7) {
[self.display appendString:A];
DONE.hidden = YES;
}
if (display.length == 8) {
DONE.hidden = NO;
}
else {
[self.display appendString:@""];
}
//**THIS IS WHERE I DELETE CHARATERS**
if (sender == BACK) {
[display deleteCharactersInRange:NSMakeRange([display length]-2, 2)];
NSLog(@"display2:%@", display);
if (self.display.length <1) {
BACK.hidden = YES;
}
if (display.length < 8) {
DONE.hidden = YES;
}
}
you.text = display;
}
它只删除一个字符一次。如果我把
[display deleteCharactersInRange:NSMakeRange([display length]-1, 2)];
它做同样的事情。但是当我把
[display deleteCharactersInRange:NSMakeRange([display length]-2, 1)];
我的应用程序崩溃,我得到一个越界错误。我尝试过使用if display=我发现,如果我创建了一个单独的操作来删除,并使用了下面的代码,那么一切似乎都正常 iAction删除:idsender{ [[UIDevice currentDevice]播放输入点击]; 如果发送方==返回{ 如果[显示长度]>0{ [显示设置字符串:[显示子字符串到索引:[显示长度]-1]]; you.text=显示
}
else {
you.text = display;
//no characters to delete... attempting to do so will result in a crash
}
if (self.display.length <1) {
BACK.hidden = YES;
}
if (display.length < 8) {
DONE.hidden = YES;
}
}
}
else {
you.text = display;
//no characters to delete... attempting to do so will result in a crash
}
if (self.display.length <1) {
BACK.hidden = YES;
}
if (display.length < 8) {
DONE.hidden = YES;
}