我该怎么做:
[wage setText:@""];
[hours setText:@""];
[grossPay setText:@""];
[taxes setText:@""];
[netPay setText:@""];
在一行?
答案 0 :(得分:4)
不要在一行中完成。这样做很容易理解。引用Brian Kernighan:
每个人都知道调试的难度是首先编写程序的两倍。所以,如果你在写作时就像你一样聪明,你将如何调试呢?
答案 1 :(得分: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:@""];
答案 2 :(得分: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;
答案 3 :(得分:0)
同意Rob(+1)关于此问题,但回答有趣:
for (UILabel * at in [NSArray arrayWithObjects:wage, hours, grossPay, taxes, netPay, nil]) at.text = @"";
请注意,如果wage
,hours
,grossPay
或taxes
为nil
,则会失败。