В Objective C я использовал определение констант, используя #defines, как способ быстрого и явного определения строк для локализации и поддержания немного более чистого кода.
Например:
#define DefineStringKey(x) static NSString *const x = @#x
Это позволило бы мне определить константы, имена которых совпадают со строкой
поэтому DefineStringKey(@"IntroTitle");
создаст константу с именем IntroTitle со значением IntroTitle , к которой я мог бы обратиться в своем коде (автозаполнение и все).
У меня была идея, что я мог бы сделать то же самое в Swift, но я не могу получить правильный синтаксис, используя typealias или замыкания.
Тип Псевдоним
typealias DefineStringKey:(x:String) = let x:String = x
Закрытие
let DefineStringKey:(String) = (String) -> () {
(x:String) in
let x:(String) = x
}
Ясно, что оба приведенных мною примера неверны. Это то, что я могу сделать в Swift с помощью другого метода или мой синтаксис просто выключен.
Отредактировано для добавления варианта использования.