NSUserDefaults 保存值但在完全 运行 再次应用 Swift 后不显示值
NSUserDefaults save values but not show values after quite and running again app Swift
我正在从另一个 class 的我最喜欢的按钮向 (u,i) 附加值。我将 (u,i) 保存在 NSUserDefaults 中并成功检索值,但是当我完全应用并再次 运行 时,(u,i) 没有显示任何值?
谁能告诉我如何解决这个问题。或者任何人都可以在我的 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
}
}
您的代码如何工作:
声明 u 并赋值给它 [](空数组)
set NSUserDefault u (空数组)
检索 NSUserDefault 的值
问题是:每次启动应用程序时,在获取 NSUserDefault
中的值之前保存一个空数组
我正在从另一个 class 的我最喜欢的按钮向 (u,i) 附加值。我将 (u,i) 保存在 NSUserDefaults 中并成功检索值,但是当我完全应用并再次 运行 时,(u,i) 没有显示任何值? 谁能告诉我如何解决这个问题。或者任何人都可以在我的 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
}
}
您的代码如何工作:
声明 u 并赋值给它 [](空数组)
set NSUserDefault u (空数组)
检索 NSUserDefault 的值
问题是:每次启动应用程序时,在获取 NSUserDefault
中的值之前保存一个空数组