#ios #objective-c #macros #static-functions
Вопрос:
У меня есть определение, подобное этому, в моем коде:
#define FooBarCreate [FooBar callFromFile:__FILE__]
Это помогает нам получить имя файла вызывающего абонента и является простым способом получить переменную FooBar
. Так что звонящие теперь могут сделать:
[FooBarCreate doSomethingWithFooBar];
Мне не нравится тот факт, что я, однако, не могу вызвать этот API из консоли Xcode. Мне было интересно, может ли кто-нибудь помочь мне преобразовать это в статическую функцию. Я зашел так далеко:
static inline FooBar FooBarCreate() { [FooBar callFromFile:__FILE__]; }
Теперь это означает, что мне нужно изменить любые другие классы в моем приложении, FooBarCreate
для FooBarCreate()
чего потребуется огромный объем работы. Есть какие-нибудь рекомендации о том, как мне сделать это проще?
В Swift это намного проще с помощью простой публичной структуры.