Преобразование определения без параметров в статическую функцию Цель C

#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 это намного проще с помощью простой публичной структуры.