我想在objective-c中定义一个常量.
以前我有以下功能:
+(NSString *) getDocumentsDir {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex: 0];
paths = nil;
return documentsDir;
}
Run Code Online (Sandbox Code Playgroud)
我想只定义一个常量"Documents_Dir" - 当函数被调用时,之后访问以前创建的值.
我尝试了以下代码,但没有用:
#define getDocumentsDir \
{ \
#ifdef Documents_Dir \
return Documents_Dir; \
#else \
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); \
NSString *documentsDir = [paths objectAtIndex: 0]; \
#define Documents_Dir [paths objectAtIndex: 0]; \
paths = nil; \
return Documents_Dir; \
#endif \
} \
Run Code Online (Sandbox Code Playgroud)
我对预编译器指令不太满意,所以任何帮助都将不胜感激.