我怎麼能做到這一點:如何在一個行上的多個變量使用方法
[wage setText:@""];
[hours setText:@""];
[grossPay setText:@""];
[taxes setText:@""];
[netPay setText:@""];
在一行
?
我怎麼能做到這一點:如何在一個行上的多個變量使用方法
[wage setText:@""];
[hours setText:@""];
[grossPay setText:@""];
[taxes setText:@""];
[netPay setText:@""];
在一行
?
不要做它在一行。這樣做很容易理解。引用Brian Kernighan:
大家都知道,調試的難度是編寫程序的兩倍。所以,如果你寫的時候你的聰明才智,你將如何進行調試?
如果所有這些都符合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:@""];
使用一個模型類,如:
@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;
同意與這一個羅布(+1),但對於回答樂趣:
for (UILabel * at in [NSArray arrayWithObjects:wage, hours, grossPay, taxes, netPay, nil]) at.text = @"";
注意,這會失敗如果wage
,hours
,grossPay
或taxes
是nil
。
wage.text = hours.text = grossPay.text = taxes.text = netPay.text = @「」; – hoshi 2012-02-03 05:11:42
最簡單的方法是刪除新行字符:-) – dasblinkenlight 2012-02-03 05:19:59