Cocoa 和 CocoaTouch 经常使用字符串常量,我想知道是否存在强制(鼓励?)一组特定字符串作为方法参数的语法。
例如,NSPersistentStoreCoordinator
' 方法-addPersistentStoreWithType:configuration:URL:options:error:
将四个可能的字符串之一作为第一个参数。
这些字符串被声明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 只鼓励这四个值?