2
我遇到了命名我的選擇器的麻煩,它接受單個參數:指向一個NSError實例的指針。這樣做的最佳做法是什麼?如何命名可能產生錯誤的選擇器?
現在,我有這樣的事情:
- (void)loadContentIfNeededAndGenerateError:(NSError **)error;
但它看起來並不像一個很好的方式來命名一個選擇。
我遇到了命名我的選擇器的麻煩,它接受單個參數:指向一個NSError實例的指針。這樣做的最佳做法是什麼?如何命名可能產生錯誤的選擇器?
現在,我有這樣的事情:
- (void)loadContentIfNeededAndGenerateError:(NSError **)error;
但它看起來並不像一個很好的方式來命名一個選擇。
蘋果的命名慣例WithError:
,所以我想:
- (BOOL)loadContentIfNeededWithError:(NSError **)error;
注:返回BOOL
,並以檢測誤差不依靠error
非nil
狀態。
換句話說:
NSError *error = nil;
if (![self loadContentIfNeededWithError:&error]) {
// React to error
}
或者只是:
- (BOOL)loadContentIfNeeded:(NSError **)error;
我把我的先例從NSManagedObjectContext中的:
- (BOOL)save:(NSError **)error;
只要名字是正確的描述則是好名字 – Wain
我會稱之爲'loadContentIfNeeded:'。 – Adam
唉,考慮到Objective-C的「標準」,並不是每個場景都很好。 (我可能會說「WithError」或「ReportingError」。)(或者至少拼寫爲「正確生成」。) –