pkc*_*456 4 nsuserdefaults uitableview nsindexpath ios swift2
我想保存NSIndexPath的NSUserDefaults,但有以下异常: -
尝试将非属性列表对象{length = 2,path = 0 - 12}设置为键LastSelectedIndeX的NSUserDefaults/CFPreferences值
我的代码: -
let selectedIndexPath = tableView.indexPathForSelectedRow
NSUserDefaults.standardUserDefaults().setObject(selectedIndexPath, forKey: "lastSelectedIndex")
NSUserDefaults.standardUserDefaults().synchronize()
Run Code Online (Sandbox Code Playgroud)
那么如何保存NSIndexPath以便以后可以在另一个视图控制器上使用它.
Kir*_*odi 12
您无法直接在NSUserDefault中保存indexPath.您可以在NSUserDefault中存储NSArray,NSDictionary,NSNumber,NSString和NSDictionary.
存储IndexPath使用NSKeyedArchiver:
let data = NSKeyedArchiver.archivedDataWithRootObject(selectedIndexPath)
NSUserDefaults.standardUserDefaults().setObject(data, forKey: "indexKey")
Run Code Online (Sandbox Code Playgroud)
获取IndexPath使用NSKeyedArchiver:
let data1 = NSUserDefaults.standardUserDefaults().objectForKey("indexKey") as? NSData
let indexP1 = NSKeyedUnarchiver.unarchiveObjectWithData(data1!) as! NSIndexPath
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1458 次 |
| 最近记录: |