Cocoa と CocoaTouch は文字列定数を頻繁に使用しますが、特定の文字列セットをメソッドの引数として強制 (奨励) する構文があるかどうか疑問に思っています。
たとえば、NSPersistentStoreCoordinator
のメソッド-addPersistentStoreWithType:configuration:URL:options:error:
は、最初の引数として 4 つの可能な文字列のいずれかを取ります。
これらの文字列は次のように宣言されNSPersistentStoreCoordinator.h
ています
COREDATA_EXTERN NSString * const NSSQLiteStoreType NS_AVAILABLE(10_4, 3_0);
COREDATA_EXTERN NSString * const NSXMLStoreType NS_AVAILABLE(10_4, NA);
COREDATA_EXTERN NSString * const NSBinaryStoreType NS_AVAILABLE(10_4, 3_0);
COREDATA_EXTERN NSString * const NSInMemoryStoreType NS_AVAILABLE(10_4, 3_0);
(FWIW、COREDATA_EXTERN
マクロは展開されextern
、他のプラットフォーム向けの機能が追加されます)
メソッド内での (パラメータ) アサート以外に、Xcode/clang/LLVM がこれら 4 つの値のみを推奨するようにする方法はありますか?