使用 NSUserdefault 和数组 swift

Working with NSUserdefault and arrays swift

我正在制作一个报价应用程序,如果能够允许用户 "favourite" 报价并能够传递此数据以在另一个数组中显示,这将是一个很好的功能,这是以前可能的解决方案这个问题没有 NSUserdefaults 会是这样的

var favouriteQuotesArray: [String] = []

    func makeQuoteFavourite() {

        let currentQuote = dreamFact.dreamArray[factIndex]
        favouriteQuotesArray.append(currentQuote)
    }

但这并没有成功,浪费了我很长一段时间。但是你看我想要实现的是能够取出位于数组中某个索引处的一些字符串(在本例中为梦想数组),然后将其附加到另一个全局数组以显示在另一个 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. 
}

我该怎么做?有没有其他选择? P.S。我项目的最后一件事,请提供任何有用和详细的建议!

这是代码

 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")