Я хочу определить константу в objective-c.
Раньше у меня была следующая функция:
+(NSString *) getDocumentsDir {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex: 0];
paths = nil;
return documentsDir;
}
Я хотел бы определить константу "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 \
} \
Я не уверен в директивах прекомпилятора, поэтому любая помощь будет оценена.