use*_*148 62 objective-c nsuserdefaults uitableview nsmutablearray ios
我有两个NSMutableArray人.它们由图像或文本组成.数组通过a显示UITableView.当我杀死应用程序时,其中的数据UITableView会丢失.如何UITableView使用NSUserDefault?保存数组?
Tim*_*Tim 113
注意:NSUserDefaults将始终返回您传入的对象的不可变版本.
存储信息:
// Get the standardUserDefaults object, store your UITableView data array against a key, synchronize the defaults
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:arrayOfImage forKey:@"tableViewDataImage"];
[userDefaults setObject:arrayOfText forKey:@"tableViewDataText"];
[userDefaults synchronize];
Run Code Online (Sandbox Code Playgroud)
要检索信息:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSArray *arrayOfImages = [userDefaults objectForKey:@"tableViewDataImage"];
NSArray *arrayOfText = [userDefaults objectForKey:@"tableViewDataText"];
// Use 'yourArray' to repopulate your UITableView
Run Code Online (Sandbox Code Playgroud)
在第一次加载时,检查返回的结果是否NSUserDefaults是nil,如果是,则需要创建数据,否则从中加载数据NSUserDefaults并UITableView保持状态.
更新
在Swift-3中,可以使用以下方法:
let userDefaults = UserDefaults.standard
userDefaults.set(arrayOfImage, forKey:"tableViewDataImage")
userDefaults.set(arrayOfText, forKey:"tableViewDataText")
userDefaults.synchronize()
var arrayOfImages = userDefaults.object(forKey: "tableViewDataImage")
var arrayOfText = userDefaults.object(forKey: "tableViewDataText")
Run Code Online (Sandbox Code Playgroud)
Phi*_*tto 45
您可以像这样保存可变数组:
[[NSUserDefaults standardUserDefaults] setObject:yourArray forKey:@"YourKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)
稍后,您将从用户默认值中获取可变数组.如果要稍后编辑数组,请务必获取可变副本.
NSMutableArray *yourArray = [[[NSUserDefaults standardUserDefaults] arrayForKey:@"YourKey"] mutableCopy];
Run Code Online (Sandbox Code Playgroud)
然后,您只需UITableview通过UITableView委托设置可变数组中的数据
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
77080 次 |
| 最近记录: |