【问题标题】:DKImagePickerController: how to save DKAsset array to NSUserDefaultsDKImagePickerController:如何将 DKAsset 数组保存到 NSUserDefaults
【发布时间】:2016-09-14 18:12:43
【问题描述】:

我已经在我的应用中实现了 cocoapod DKImagePickerController,我想使用内置函数来记住应用重启时的选择:

    pickerController.selectedAssets = selAssets[sender]

但是,我似乎不知道如何保存 [[DKasset]](DKasset 数组的数组)。

我试过了:

func getUserSettings()
{
    selAssets = NSKeyedUnarchiver.unarchiveObjectWithFile(fileInDocumentsDirectory("assets")) as! [[DKAsset]]
}

func setUserSettings()
{
    NSKeyedArchiver.archiveRootObject(selAssets, toFile: self.fileInDocumentsDirectory("assets"))
}

但是 getUserSettings() 不会用可用的对象填充数组。我也尝试过使用 NSUserDefaults 的 objectForKey,但这似乎与 DKAsset 不兼容。 DKAsset 类是 NSObject 的子类。

如何保存和加载这个数组?

可可豆荚: https://cocoapods.org/pods/DKImagePickerController

【问题讨论】:

    标签: arrays swift cocoapods nsuserdefaults


    【解决方案1】:

    对于任何想要这样做的人:

    func loadFromNSDefaults()
    {
        if UserDefaults.standard.stringArray(forKey: "selection") != nil
        {
            assetIdentifier = UserDefaults.standard.stringArray(forKey: "selection")!
        }
        fetchAsset.removeAll()
        selAssets.removeAll()
        let options = PHFetchOptions()
        for i in 0..<assetIdentifier.count
        {
            print(i)
            fetchAsset.append(PHAsset.fetchAssets(withLocalIdentifiers: assetIdentifier, options: options).object(at: i))
            selAssets.append(DKAsset.init(originalAsset: fetchAsset[i]))
        }
    }
    
    func saveToNSDefaults(assets: [DKAsset])
    {
        assetIdentifier.removeAll()
        for i in 0..<assets.count
        {
            assetIdentifier.append((assets[i].originalAsset?.localIdentifier)!)
            print(assets[i].originalAsset?.localIdentifier)
        }
        UserDefaults.standard.setValue(assetIdentifier, forKey: "selection")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-05
      • 2021-04-29
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多