我正在使用按钮,我将标记create table dbo.Teacher
(
[Person ID] int not null primary key clustered,
[Teacher ID] int not null,
[First Name] varchar(64) not null,
Surname varchar(64) not null,
AdministratorId int not null
foreign key references dbo.Administrator([Person ID])
);
go
分配给0
。然后我做了一个动作来获取点击按钮的标签,现在我想在标签中显示标签。我还有一个取消按钮10
。如果用户想要删除任何号码,他可以点击我想从标签中删除号码的C
按钮。
这是我触摸号码的截图
C
但是在标签中我会重复这样的数字。如何实现这一点。
例如,如果用户在标签
中输入2- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"Ezywire";
addnum=[[NSMutableArray alloc]init];
numbber=[[NSString alloc]init];
}
- (IBAction)NumberAction:(id)sender {
NSInteger tagvalue = [sender tag];
NSString *current=[NSString stringWithFormat:@"%ld", (long)tagvalue];
[addnum addObject:current];
NSString *temp;
for ( int i=0; i<[addnum count]; i++) {
numbber=[numbber stringByAppendingString:[addnum objectAtIndex:i]];
}
NSLog(@"data===%@",numbber);
ValueLable.text= numbber;
}
然后他在标签中输入7
2
然后他在标签中输入了9
27
........喜欢这个。
如果用户点击279
,则会从标签中移除最后一个值(删除最后一个值)
C
答案 0 :(得分:1)
代码中的问题是在加载视图时初始化numbber
,并且永远不会再次清除。但是,每次按下按钮时,整个addnum
数字会再次附加到num
,从而产生重复的数字。
通过删除num
作为实例变量,使其成为NumberAction:
方法的本地变量,并在每次按下数字时将其设置为空字符串来解决此问题。
由于您计划也支持清除操作,因此您应该创建一个将addnum
数组中的数字组合成字符串的私有方法。这样,您的NumberAction:
和ClearAction
将共享格式化数组的代码并设置标签。您的NumberAction:
方法会附加一个数字并调用FormatAndSetLabel
,而ClearAction
方法会删除最后一个数字(如果可用),并同时调用FormatAndSetLabel
:
- (IBAction)NumberAction:(id)sender {
NSInteger tagvalue = [sender tag];
NSString *current=[NSString stringWithFormat:@"%ld", (long)tagvalue];
[addnum addObject:current];
[self FormatAndSetLabel];
}
- (IBAction)ClearAction:(id)sender {
if (!addnum.count) return;
[addnum removeLastObject];
[self FormatAndSetLabel];
}
-(void)FormatAndSetLabel {
NSMutableString *temp = [NSMutableString string];
for ( int i=0; i<[addnum count]; i++) {
[temp appendString:addnum[i]];
}
ValueLable.text= temp;
}
答案 1 :(得分:0)
你也可以看看Paul的Hegarty Stanford iOS开发课程(iPad和iPhone应用程序开发,2011年秋季)
https://itunes.apple.com/ru/itunes-u/ipad-iphone-application-development/id473757255?mt=10
此处使用计算器应用作为示例。必须为初学者看。