1

有什么更好的方法(按钮越多,代码越长)?

是否必须添加到数组中(然后使用反射来查看变量标题并提取正确的字符串?

//Load defaults
    _n1From = [HelperMethods getObjectUserDefault:AS_N1_FROM_UD];
    _n1To = [HelperMethods getObjectUserDefault:AS_N1_TO_UD];
    _n2From = [HelperMethods getObjectUserDefault:AS_N2_FROM_UD];
    _n2To = [HelperMethods getObjectUserDefault:AS_N2_TO_UD];
    _unionRate = [HelperMethods getObjectUserDefault:AS_UNION_RATE_UD];
    _unionHours = [HelperMethods getObjectUserDefault:AS_UNION_HOURS_UD];
    _nonUnionRate = [HelperMethods getObjectUserDefault:AS_NON_UNION_RATE_UD];
    _nonUnionHours = [HelperMethods getObjectUserDefault:AS_NON_UNION_HOURS_UD];
4

1 回答 1

2

将按钮放入IBOutletCollection,为每个按钮分配一个唯一tag值,然后使用标记在NSArray将标记映射到参数的 中查找参数。这是一个例子:

NSArray *tagToArg = @[@AS_N1_FROM_UD, @AS_N1_TO_UD, @AS_N2_FROM_UD, ...];
for (UIButton *b in allButtonsOutletCollection) {
    [HelperMethods configureButton:b withData:tagToArg[b.tag]];
}

标记为零的按钮将获得参数AS_N1_FROM_UD;带有标签的按钮1将得到AS_N1_TO_UD,依此类推。

于 2013-05-28T00:16:46.730 回答