我将(u,i)的值附加到我最喜欢的另一个班级的按钮上。我在NSUserDefaults中保存(你,我)并成功检索值但是当我完全应用并再次运行时,(你,我)没有显示任何值? 任何人都可以告诉我如何解决这个问题。或者任何人都可以在我的project.中修复它 谢谢
import UIKit
var u : [NSString] = []
var i : [NSString] = []
class FavoriteTvViewController: UIViewController , UICollectionViewDelegate{
var uV : NSArray = []
var iV : NSArray = []
@IBOutlet weak var collectionView: UICollectionView!
let reuseIdentifier = "cell"
override func viewDidLoad(){
}
override func viewWillAppear(animated: Bool) {
collectionView.reloadData()
NSUserDefaults.standardUserDefaults().setObject(u, forKey: "u")
NSUserDefaults.standardUserDefaults().setObject(i, forKey: "i")
NSUserDefaults.standardUserDefaults().synchronize()
uV = NSUserDefaults.standardUserDefaults().arrayForKey("u") as! NSArray
iV = NSUserDefaults.standardUserDefaults().arrayForKey("i") as! NSArray
print("uV values.. \(uV)")
print("iV values.. \(iV)")
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
return uV.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> FavoriteTvCollectionViewCell
{
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! FavoriteTvCollectionViewCell
cell.imageView.image = UIImage(named: iV[indexPath.row] as! String)
return cell
}
}
答案 0 :(得分:2)
您的代码如何运作:
声明你并指定给它[](空数组)
设置NSUserDefault u(空数组)
检索NSUserDefault的值
问题是:每次启动应用程序时,在获取NSUserDefault中的值之前保存一个空数组