Ios 使用NSUserdefault和swift数组
我正在制作一个报价应用程序,这将是一个很好的功能,能够允许用户“喜爱”报价,并能够将此数据传递到另一个数组中显示,以前可能的解决方案没有NSUserdefaults,类似于Ios 使用NSUserdefault和swift数组,ios,arrays,swift,nsuserdefaults,Ios,Arrays,Swift,Nsuserdefaults,我正在制作一个报价应用程序,这将是一个很好的功能,能够允许用户“喜爱”报价,并能够将此数据传递到另一个数组中显示,以前可能的解决方案没有NSUserdefaults,类似于 var favouriteQuotesArray: [String] = [] func makeQuoteFavourite() { let currentQuote = dreamFact.dreamArray[factIndex] favouriteQuotesArray.a
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.
}
我该怎么做这样的事?还有其他选择吗?
我的项目的最后一件事,请给出任何有用的和详细的建议,你可以 这是代码
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(“钥匙”)
好了,伙计,我的一个小时已经结束了,一切都取决于你回答的合法性。请确保这是正确的。我有许多视图控制器,它们都需要相同的功能。我是否要跨所有视图控制器复制此功能?您只需将更多变量添加到相同的struct
就可以在声明时错误地使用未解析的标识符。请确保该结构在类声明之外