如何将字符串保存到NSUserDefaults
?将字符串保存到NSUserDefaults?
回答
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
把它找回来以后
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"preferenceName"];
有没有什么方法可以在特定的日期保存这个字符串?谢谢,但你的代码和我的代码一样,我创建了一个自定义的日历应用程序,用户可以在其中写入他们的笔记,例如在2月3日用户写东西,这个文本应该保存在2月3日,当用户移动到另一个他/她可以在当天日期前写下其他日期 – 2012-02-02 22:00:00
由于某种原因,在我调用同步方法之前,保存部分无法正常工作。 'NSString * valueToSave = @“someValue”; [[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@“preferenceName”]; [[NSUserDefaults standardUserDefaults] synchronize' – 2014-02-24 02:07:28
这是完美的工作 – imjaydeep 2016-01-09 16:07:06
[[NSUserDefaults standardUserDefaults] setValue:aString forKey:aKey]
更精确地
-(void)saveToUserDefaults:(NSString*)myString
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if (standardUserDefaults) {
[standardUserDefaults setObject:myString forKey:@"timestamps"];
[standardUserDefaults synchronize];
}
}
没有必要对'standardUserDefaults'对象执行无检查。在Objective-C中将消息发送到零是完全正确的。 – jbrennan 2010-06-19 06:29:38
够公平的...... – 2010-06-19 07:22:43
但更重要的是,他包含了“同步” - 如果你不这样称呼,NSUserDefaults是非常不稳定的! – PostCodeism 2010-11-29 19:48:05
事情是这样的:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
然后检索:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
你真的应该看看苹果的NSUserDefaults的类参考,也可能这个教程:iPhone Programming Tutorial – Saving/Retrieving Data Using NSUserDefaults
不要忘了这个说法,因为否则可能并不总是工作:
[standardUserDefaults synchronize];
一个不错的做法是使用一个常量作为密钥,以避免在没有使用相同密钥存储和读取的情况下发生错误
NSString* const TIME_STAMPS_KEY = @"TIME_STAMPS_KEY";
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
// saving an NSInteger
[prefs setInteger:42 forKey:@"integerKey"];
// saving a Double
[prefs setDouble:3.1415 forKey:@"doubleKey"];
// saving a Float
[prefs setFloat:1.2345678 forKey:@"floatKey"];
// This is suggested to synch prefs, but is not needed (I didn't put it in my tut)
[prefs synchronize];
检索
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
// getting an NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];
// getting an Float
float myFloat = [prefs floatForKey:@"floatKey"];
这里是如何做相同的雨燕;
var valueToSave = "someValue"
NSUserDefaults.standardUserDefaults().setObject(valueToSave, forKey: "preferenceName")
以后拿回来;
if let savedValue = NSUserDefaults.standardUserDefaults().stringForKey("preferenceName") {
// Do something with savedValue
}
在夫特3。0
var valueToSave = "someValue"
UserDefaults.standard.set(valueToSave, forKey: "preferenceName")
if let savedValue = UserDefaults.standard.string(forKey: "preferenceName") {
}
谢谢你,因为原来的问题很快,+1 – 2016-06-23 09:04:07
午餐后,我对我的玩世不恭探测器有问题。原来的问题在2010年被问到了。因此,我认为Swift是今天走的路。 – 2017-02-15 13:21:27
并通过调用它:
[self saveToUserDefaults:@"string_to_store" : @"key_for_the_string"];
通过检索字符串:
NSString * stored_string = [[NSUserDefaults standardUserDefaults] stringforkey:key_for_the_String]
为了节约使用本:
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"KTerminated"];
[[NSUserDefaults standardUserDefaults]synchronize];
对于Retriveing使用:
[[[NSUserDefaults standardUserDefaults]stringForKey:@"KTerminated"] isEqualToString:@"YES"];
这里对于斯威夫特我创建两个功能,要求保存和优先重点retrive值
可能这是帮助全为ü
//用于保存对象
static func setObject(value:AnyObject ,key:String)
{
let pref = NSUserDefaults.standardUserDefaults()
pref.setObject(value, forKey: key)
pref.synchronize()
}
static func getObject(key:String) -> AnyObject
{
let pref = NSUserDefaults.standardUserDefaults()
return pref.objectForKey(key)!
}
的firstView
{
NSMutableArray *array; }
- (void)viewDidLoad {
[super viewDidLoad];
array = [[NSMutableArray alloc]init];
array = [[NSUserDefaults standardUserDefaults]objectForKey:@"userlist"];
NSLog(@"%lu",(unsigned long)array.count);
if (array>0)
{
for (int i=0; i<array.count; i++)
{
NSDictionary *dict1 = @{@"Username":[[array valueForKey:@"Username"] objectAtIndex:i],@"Mobilenumber":[[array valueForKey:@"Mobilenumber"] objectAtIndex:i],@"Firstname":[[array valueForKey:@"Firstname"] objectAtIndex:i],@"Lastname":[[array valueForKey:@"Lastname"] objectAtIndex:i],@"dob":[[array valueForKey:@"dob"] objectAtIndex:i],@"image":[[array valueForKey:@"image"] objectAtIndex:i]};
NSLog(@"%@",dict1);
NSArray *array1 = [[NSArray alloc]initWithObjects:dict1, nil];
[[NSUserDefaults standardUserDefaults] setObject:array1 forKey:@"UserList"];
}
}
}
ImagePicker
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.imaGe.image = chosenImage;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
(IBAction为)submitBton:(ID)发送方{
NSMutableArray *array2 = [[NSMutableArray alloc]initWithArray: [[NSUserDefaults standardUserDefaults]objectForKey: @"userlist"]]; UIImage *ima = _imaGe.image; NSData *imagedata = UIImageJPEGRepresentation(ima,100); NSDictionary *dict = @{@"Username":_userTxt.text,@"Lastname":_lastTxt.text,@"Firstname":_firstTxt.text,@"Mobilenumber":_mobTxt.text,@"dob":_dobTxt.text,@"image":imagedata}; [array2 addObject:dict]; [[NSUserDefaults standardUserDefaults]setObject:array2 forKey:@"userlist"]; NSLog(@"%@",array2); [self performSegueWithIdentifier:@"second" sender:self]; }
(IBAction为)chooseImg:(ID)发送方{
的UIImagePickerController *挑选器= [[的UIImagePickerController
的alloc] INIT]; picker.delegate = self; picker.allowsEditing = YES; picker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary; [自presentViewController:拾取器动画:是完成:NULL];}
第二查看 { 的NSMutableArray * ARR; }
- (void)viewDidLoad {
[super viewDidLoad];
arr =[[NSMutableArray alloc]init];
arr = [[NSUserDefaults standardUserDefaults]objectForKey:@"userlist"]; }
#pragma mark- TableView DataSource
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1; }
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return arr.count; }
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellId = @"tablecell";
TableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:cellId];
cell.userLbl.text =[[arr valueForKey:@"username"] objectAtIndex:indexPath.row];
cell.ageLbl.text =[[arr valueForKey:@"dob"] objectAtIndex:indexPath.row];
cell.profileImg.image =[UIImage imageNamed:[[arr valueForKey:@"image"] objectAtIndex:indexPath.row]];
return cell; }
需要适当的编辑 – Yatin 2017-01-09 08:26:10
更新夫特3
func setObject(value:AnyObject ,key:String)
{
let pref = UserDefaults.standard
pref.set(value, forKey: key)
pref.synchronize()
}
func getObject(key:String) -> AnyObject
{
let pref = UserDefaults.standard
return pref.object(forKey: key)! as AnyObject
}
在夫特4.0。3 Xcode中9
============set Data in UserDefaults =========
UserDefaults.standard.set(userName, forKey: "userName")
UserDefaults.standard.synchronize()
============Get Data in UserDefaults =========
let userName = UserDefaults.standard.string(forKey: "userName")
print(userName ?? "Gera")
userNameTextField.text = ""+userName!
- 1. 无法在NSUserDefaults中保存字符串,直到保留字符串
- 2. 将数组保存到NSUserDefaults
- 3. 将blob字符串保存到mysql
- 4. 无法将字符串保存到log.txt
- 5. 将base64字符串保存到Amazon S3
- 6. Xamarin android将字符串保存到strings.xml
- 7. 将字符串数组保存到sharedPreference
- 8. 将utf8mb4字符串保存到mysql
- 9. Lua将字符串保存到文件
- 10. 将字符串保存到properties.settings
- 11. 保存NSTimer到NSUserDefaults
- 12. 保存和格式字符串中使用NSUserDefaults的
- 13. 将联系人列表保存到NSUserDefaults
- 14. 可以将UIFont对象保存到NSUserDefaults
- 15. 如何将数组保存到NSUserDefaults?
- 16. 如何将MPMediaItemCollection保存到NSUSerDefaults?
- 17. 将UIColor,UIFont和NSDictionary保存到NSUserDefaults
- 18. 将字符保存到堆栈上的字符串类型?
- 19. 保存的NSDictionary到NSUserDefaults的
- 20. 保存的NSMutableArray NSUserDefaults的到
- 21. NSUserDefaults不保存
- 22. Swift - macOS程序在将字典保存到NSUserDefaults时被卡住
- 23. Mongojack可能将字符串保存为字符串
- 24. 将数据保存为字符串
- 25. JavaScript - 将方法保存为字符串
- 26. 如何将ofn.lpstrFile保存为字符串?
- 27. 将字符串保存为csv文件?
- 28. HtmlAgility - 将解析保存为字符串
- 29. 将方法中的字符串和字符串[]保存到poll [] []中
- 30. Javascript:将数字保存到一个字符串后的变量
试试这个:http://jayprakashdubey.blogspot.in/2014/07/nsuserdefault-usage.html – 2014-07-30 10:26:40
如果您正在寻找斯威夫特,然后我加入了一个答案。 – 2015-04-25 15:51:26