iOS动态定义String

时间:2016-11-18 07:53:16

标签: ios objective-c

对于本地化,我可以在本地化字符串中定义%@,它将动态填充。

但我可以为这个做同样的事情吗?如果我不能,还有其他方法吗?我不想从那里写函数和打电话。

#define MESSAGE @"Event - %@ is now saved in your calender."

1 个答案:

答案 0 :(得分:3)

宏不是动态的。这意味着,编译器将在您使用var reactDomLibPath = path.join(__dirname, "./node_modules/react-dom/lib"); var alias = {}; ["EventPluginHub", "EventConstants", "EventPluginUtils", "EventPropagators", "SyntheticUIEvent", "CSSPropertyOperations", "ViewportMetrics"].forEach(function(filename){ alias["react/lib/"+filename] = path.join(__dirname, "./node_modules/react-dom/lib", filename); }); module.exports = { ... resolve: {alias: alias}, ... } 的任何地方编写@"Event - %@ is now saved in your calender."

但您可以使用stringWithFormat:替换运行时的MESSAGE占位符:

%@

#define MESSAGE @"Event - %@ is now saved in your calender." NSString *string = [NSString stringWithFormat:MESSAGE, @"EventName"]; 现在为:事件 - EventName现已保存在您的日历中。