我是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中创建参数化字符串或宏?