从我创建的字符串(使用 xcode 4.5.2)
- (void)viewDidLoad{
myList = [[NSArray alloc] initWithObjects:@"x",@"y",@"z", nil];
}
当然还有:
@property (strong, nonatomic) IBOutlet UILabel *labelField_x;
@property (strong, nonatomic) IBOutlet UILabel *labelField_y;
@property (strong, nonatomic) IBOutlet UILabel *labelField_z;
我希望能够在 IBAction 中通过从数组中选择正确的键来从字符串中选择要使用的标签。而不是做 if 或 BOOL 语句并重复我自己。表单示例我有这个:
- (IBAction)buttonPressed:(UIButton *)sender;
{
if (is_x){
NSString *digit = sender.currentTitle;
if (!pressedDecimal){
labelField_x.text = [labelField_x.text stringByAppendingString:digit];
}else if (count <= 1){
labelField_x.text = [labelField_x.text stringByAppendingString:digit];
}
.
.
.
}
else if (is_y){
NSString *digit = sender.currentTitle;
if (!pressedDecimal){
labelField_y.text = [labelField_y.text stringByAppendingString:digit];
}else if (count <= 1){
labelField_y.text = [labelField_y.text stringByAppendingString:digit];
}
.
.
.
}
else if (is_z){
NSString *digit = sender.currentTitle;
if (!pressedDecimal){
labelField_z.text = [labelField_z.text stringByAppendingString:digit];
}else if (count <= 1){
labelField_z.text = [labelField_z.text stringByAppendingString:digit];
}
.
.
.
}
}
如您所见,我每次都使用相同的代码重复我自己,而不是仅更改位置或 UILabel 方向或它指向标签的任何内容( labelField_x, labelField_y, labelField_z )。我的问题是是否有办法只更改最后一个字符串 (x, y, z) 并从我创建的一组数组中调用它并告诉使用哪个标签。
我已经尝试过了,但当然它不起作用,并且与正确答案没有什么关系,但希望这可以更好地解释我想要的东西(提前抱歉编码不好):
labelField_@"%@".text,[myList 0] = [labelField_@"%@".text,[myList 0] stringByAppendingString:digit];
谢谢你。