2013-10-03 37 views
2

我遇到了命名我的選擇器的麻煩,它接受單個參數:指向一個NSError實例的指針。這樣做的最佳做法是什麼?如何命名可能產生錯誤的選擇器?

現在,我有這樣的事情:

- (void)loadContentIfNeededAndGenerateError:(NSError **)error; 

但它看起來並不像一個很好的方式來命名一個選擇。

+1

只要名字是正確的描述則是好名字 – Wain

+2

我會稱之爲'loadContentIfNeeded:'。 – Adam

+0

唉,考慮到Objective-C的「標準」,並不是每個場景都很好。 (我可能會說「WithError」或「ReportingError」。)(或者至少拼寫爲「正確生成」。) –

回答

7

蘋果的命名慣例WithError:,所以我想:

- (BOOL)loadContentIfNeededWithError:(NSError **)error; 

注:返回BOOL,並以檢測誤差不依靠errornil狀態。

換句話說:

NSError *error = nil; 
if (![self loadContentIfNeededWithError:&error]) { 
    // React to error 
} 
0

或者只是:

- (BOOL)loadContentIfNeeded:(NSError **)error; 

我把我的先例從NSManagedObjectContext中的:

- (BOOL)save:(NSError **)error;