0

我怎样才能做到这一点:

[wage setText:@""];
[hours setText:@""];
[grossPay setText:@""];
[taxes setText:@""];
[netPay setText:@""];

在一条线上?

4

4 回答 4

4

不要在一行中完成。这样做是为了容易理解。引用 Brian Kernighan 的话:

每个人都知道,调试的难度是一开始编写程序的两倍。因此,如果您在编写它时尽可能地聪明,您将如何调试它?

于 2012-02-03T05:21:20.297 回答
2

如果所有这些都符合 KVC 并且您想要放置相同的值,则可以将所有这些放在一个数组中,然后设置文本。

[[NSArray arrayWithObjects:wage, hours, grossPay, taxes, netPay, nil] setValue:@"" forKey:@"text"];

或者hoshi的想法也不错。(同样它需要 KVC 合规性)

非 KVC 解决方案:

[[NSArray arrayWithObjects:wage, hours, grossPay, taxes, netPay, nil] makeObjectsPerformSelector:@selector(setText:) withObject:@""];
于 2012-02-03T05:12:56.987 回答
0

使用模型类,如:

@interface DbInfos : NSObject{
    NSString *wage;
    NSString *hours;
    NSString *grossPay;
    NSString *taxes;
    NSString *netPay;
}

@property(nonatomic,strong)NSString *wage;
@property(nonatomic,strong)NSString *hours;
@property(nonatomic,strong)NSString *grossPay;
@property(nonatomic,strong)NSString *taxes;
@property(nonatomic,strong)NSString *netPay;

-(id)initWithWage:(NSString *)newWage Hours:(NSString *)newHours GrossPay:(NSString *)newTaxes NetPay:(NSString *)newNetPay;
于 2012-02-03T05:23:35.053 回答
0

同意 Rob (+1) 的观点,但为了好玩而回答:

for (UILabel * at in [NSArray arrayWithObjects:wage, hours, grossPay, taxes, netPay, nil]) at.text = @"";

请注意,如果wagehoursgrossPaytaxes是,这将失败nil

于 2012-02-03T05:30:05.313 回答