如何在swift中定义自定义本地化常量



我是swift 2的新手。我知道将目标c中的宏定义为

#define MYAPPCLocalize(Key) NSLocalizedStringFromTable(Key, APP_DELEGATE.currentStrings, @"N/A")

但我怎么能像斯威夫特一样宣布呢。请帮助我

来自苹果的文档:

Declare simple macros as global constants, and translate complex macros into functions.

你可以这样翻译你的代码:

func MYAPPCLocalize(key: String) -> String {
  return NSLocalizedStringFromTable(key, APP_DELEGATE.currentStrings, "N/A")
}

我也遇到了同样的问题。

事实上,在swift中没有宏的概念。如果你想创建一个简单的宏,那么你可以用let关键字来创建它,它被视为一个宏或类似于静态变量(属性)的东西。

如果要创建参数化宏,请使用参数和返回类型创建func

遵循此链接中提供的解决方案

在swift中创建参数化字符串或宏?