我需要根据变量动态处理和存储文本。
我有一个核心文本,它是我的Swift-iOS应用程序的内容。但是这篇文章的某些部分改变取决于用户数据,例如
"{{ if user.age > 15}} You are very young {{ else }} You are not too young {{ end }} but I will show you some magic in this app."
谢谢你的消化。
答案 0 :(得分:1)
执行此操作的正确方法是为文本定义密钥(例如:WelcomeTextUserYoung
和WelcomeTextUserOld
),然后将这些密钥与.string
文件中的整个字符串相关联。您必须在显示字符串的类中编写逻辑(user.age > 15
)(如果它在多个位置显示,则在公共类中)。
我知道将整个字符串写两次可能听起来像冗余和代码重复,但你永远不知道是否翻译它仍然是英文的文本。因此,即使您没有考虑本地化应用程序,也可以从一开始就更好地实施良好实践;)
答案 1 :(得分:0)
您可以使用NSUserDefaults
存储用户数据。例如:
var storage = NSUserDefaults.standartUserDefaults()
storage.setInteger(yourInt, forKey: "just a string using which you can access the value")
storage.setObject(yourObject, forKey: "the same as above") //yourObject can be a string, or a NSData
storage.synchronize()
要更新UI元素,您可以使用连接到函数的计时器,从NSUserDefaults中获取对象并更改所需元素(标签,按钮等)