如何將字符串保存到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. 將AnyObject保存到NSUserdefaults
- 3. 將數組保存到NSUserDefaults
- 4. 保存NSTimer到NSUserDefaults
- 5. 將blob字符串保存到mysql
- 6. 將utf8mb4字符串保存到mysql
- 7. 無法將字符串保存到log.txt
- 8. 將字符串保存到string.xml,Android
- 9. 將字符串保存到數組
- 10. php將字符串保存到文件
- 11. 將base64字符串保存到Amazon S3
- 12. 將字符串數組保存到sharedPreference
- 13. Xamarin android將字符串保存到strings.xml
- 14. 將字符串保存到列表中
- 15. Lua將字符串保存到文件
- 16. 無法將字符串保存到字符串數組上stackmob
- 17. 將字符串數組保存到字符串
- 18. NSUserDefaults iOS字符串存儲錯誤
- 19. 在NSUserDefaults中存儲Base 64字符串
- 20. 未捕獲異常保存字符串NSUserDefaults [Swift]
- 21. 保存和格式字符串中使用NSUserDefaults的
- 22. 從NSArray獲取字符串,使用NSUserDefaults保存
- 23. 將細胞附件保存到NSUserDefaults
- 24. 將聯繫人列表保存到NSUserDefaults
- 25. 將UIColor,UIFont和NSDictionary保存到NSUserDefaults
- 26. 如何將tableView數據保存到NSUserDefaults?
- 27. 可以將UIFont對象保存到NSUserDefaults
- 28. 如何將數組保存到NSUserDefaults?
- 29. 將NSArray保存到NSUserDefaults不起作用
- 30. 如何將MPMediaItemCollection保存到NSUSerDefaults?
試試這個:http://jayprakashdubey.blogspot.in/2014/07/nsuserdefault-usage.html – 2014-07-30 10:26:40
如果您正在尋找斯威夫特,然後我加入了一個答案。 – 2015-04-25 15:51:26