Как сохранить строку в NSUserDefaults?
Сохранить строку в NSUserDefaults?
Ответ 1
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
чтобы вернуть его позже
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
    stringForKey:@"preferenceName"];
Ответ 2
точнее
-(void)saveToUserDefaults:(NSString*)myString
{
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
    if (standardUserDefaults) {
        [standardUserDefaults setObject:myString forKey:@"timestamps"];
        [standardUserDefaults synchronize];
    }
}
Ответ 3
Здесь, как сделать то же самое с Swift;
var valueToSave = "someValue"
NSUserDefaults.standardUserDefaults().setObject(valueToSave, forKey: "preferenceName")
Чтобы вернуть его позже;
if let savedValue = NSUserDefaults.standardUserDefaults().stringForKey("preferenceName") {
    // Do something with savedValue
}
В Swift 3.0
var valueToSave = "someValue"
UserDefaults.standard.set(valueToSave, forKey: "preferenceName")
if let savedValue = UserDefaults.standard.string(forKey: "preferenceName") {
}
Ответ 4
Что-то вроде этого:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
Затем для получения:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
Вам действительно стоит ознакомиться с справочником классов Apple NSUserDefaults, а также, возможно, этим учебным пособием: Учебное пособие по программированию iPhone - сохранение/извлечение данных с помощью NSUserDefaults
Ответ 5
Не забывайте это утверждение, потому что иначе оно может не всегда работать:
[standardUserDefaults synchronize];
Ответ 6
 [[NSUserDefaults standardUserDefaults] setValue:aString forKey:aKey]
Ответ 7
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"];
Ответ 8
Хорошей практикой является также использование константы для ключа, чтобы избежать ошибок, когда вы не храните и не читаете с помощью того же ключа
NSString* const TIME_STAMPS_KEY = @"TIME_STAMPS_KEY";
Ответ 9
-(void)saveToUserDefaults:(NSString*)string_to_store keys:(NSString *)key_for_the_String
{
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
    if (standardUserDefaults) {
        [standardUserDefaults setObject:string_to_store forKey:key_for_the_String];
        [standardUserDefaults synchronize];
    }
}
И назовите его по:
[self saveToUserDefaults:@"string_to_store" : @"key_for_the_string"];
Извлеките строку, используя:
NSString * stored_string = [[NSUserDefaults standardUserDefaults] stringforkey:key_for_the_String]
Ответ 10
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) selectImg: (id) отправитель { UIImagePickerController * picker = [[UIImagePickerController 
 alloc] init]; picker.delegate = self; picker.allowsEditing = YES; picker.sourceType =
 UIImagePickerControllerSourceTypePhotoLibrary; [self 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; }
Ответ 11
В Swift 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!
Ответ 12
В Swift4.2 и Xcode 10
//Save
UserDefaults.standard.set(true, forKey: "Key1") //Bool
UserDefaults.standard.set(1, forKey: "Key2")  //Integer
UserDefaults.standard.set("This is my string", forKey: "Key3") //String
UserDefaults.standard.synchronize()
//Retrive
UserDefaults.standard.bool(forKey: "Key1")
UserDefaults.standard.integer(forKey: "Key2")
UserDefaults.standard.string(forKey: "Key3")
//Remove
UserDefaults.standard.removeObject(forKey: "Key3")
Примечание. Сохраняйте текстовые данные (означает "Строка", "Массив", "Словарь" и т.д.) В пользовательских значениях по умолчанию. Не сохраняйте изображения в UserDefaults, это не рекомендуется (Сохраняйте изображения в локальном каталоге).
Ответ 13
Для сохранения используйте это:
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"KTerminated"];
[[NSUserDefaults standardUserDefaults]synchronize];
Для Retriveing используйте это:
[[[NSUserDefaults standardUserDefaults]stringForKey:@"KTerminated"] isEqualToString:@"YES"];
Ответ 14
Здесь Для Swift я создаю две функции, которые вызывают сохранение и извлечение значения для ключа из Предпочтения
может быть, это полная помощь для u
//для сохранения объекта
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)!
}
Ответ 15
обновление для Swift 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
}
