我正在制作一个引用应用程序,这将是一个很好的功能,能够允许用户“喜欢”引用,并能够传递此数据以显示在另一个数组中,这个问题的先前可能的解决方案没有NSUserdefaults就像
var favouriteQuotesArray: [String] = []
func makeQuoteFavourite() {
let currentQuote = dreamFact.dreamArray[factIndex]
favouriteQuotesArray.append(currentQuote)
}
但这没有成功,浪费了我很长一段时间。但是你看到我想要实现的是能够取出位于我的数组中某个索引处的一些字符串(在本例中为dream数组),然后将其附加到另一个全局数组以便在另一个viewController中显示。现在我正在考虑NSUserdefaults并在点击按钮时将其存储到数组中:
@IBAction func favour() {
//some NSUserdefaults statement to save this to a global array which I would be able to call in a view controller.
}
我该怎么办?还有其他选择吗? 附:我的项目的最后一件事,请提供任何有用和详细的建议!
答案 0 :(得分:1)
这是代码
var favouriteQuotesArray: [String]? = NSUserDefaults.standardUserDefaults().objectForKey("thekey") as? [String]
func makeQuoteFavourite() {
if favouriteQuotesArray == nil {
favouriteQuotesArray = []
}
let currentQuote = dreamFact.dreamArray[factIndex]
favouriteQuotesArray!.append(currentQuote)
NSUserDefaults.standardUserDefaults().setObject(favouriteQuotesArray!, forKey: "thekey")
}
@IBAction func favour() {
makeQuoteFavourite()
}
然后,你可以在任何地方访问它。
NSUserDefaults.standardUserDefaults().objectForKey("thekey")