比方說,我有以下情況:多個循環和清潔解決方案條件
NSError *error;
for (NSObject1 *obj1 in objects1) {
[sth doSomethingWithObj1:obj1 withError:&error];
}
for (NSObject2 *obj in objects2) {
[sth doSomethingWithObj2:obj2 withError:&error];
}
for (NSObject3 *obj in objects3) {
[sth doSomethingWithObj3:obj3 withError:&error];
}
for (NSObject4 *obj in objects4) {
[sth doSomethingWithObj4:obj4 withError:&error];
}
[sth doSomethingWithObj5:obj5 withError:&error];
的對象有明顯的不同,方法也不同。如果它出現,我想打印該錯誤。我想保持代碼DRY,所以重複這是一種錯誤的解決方案:
if (error) {
NSLog(@"Error occurred: %@", error.localizedDescription);
return; // can be but doesn't have to
}
我不希望有重構這些doSomethingWithObjX:
方法,因爲它們可以在其他許多地方(因此使用塊代替的錯誤不是一個好主意)。
我想到了使用PromiseKit,但該項目對iOS 7有效(PromiseKit 3.0不兼容,最後一個是1.6),並且還需要大量工作來重構基礎類,所以我已經辭職了這個想法。
我怎樣才能以這種方式編寫代碼呢很漂亮& DRY在每次修改發生後每次修改完成後都會進行檢查?
我沒有看到問題。 –
@DuncanC你的投票結束很快。增加了這個問題。 – Vive
其實那不是我。 –