কিভাবে একটি স্ট্রিং সংরক্ষণ করতে NSUserDefaults
?
কিভাবে একটি স্ট্রিং সংরক্ষণ করতে NSUserDefaults
?
উত্তর:
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
এটি পরে ফিরে পেতে
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"preferenceName"];
NSString *valueToSave = @"someValue";[[NSUserDefaults standardUserDefaults]setObject:valueToSave forKey:@"preferenceName"]; [[NSUserDefaults standardUserDefaults]synchronize
আরো স্পষ্ট করে
-(void)saveToUserDefaults:(NSString*)myString
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if (standardUserDefaults) {
[standardUserDefaults setObject:myString forKey:@"timestamps"];
[standardUserDefaults synchronize];
}
}
standardUserDefaults
অবজেক্টের জন্য নীল চেক করার দরকার নেই । উদ্দেশ্য-সি-তে শূন্য বার্তা প্রেরণে এটি পুরোপুরি ঠিক।
synchronize
। ডকটি বলেছেন: হ্যাঁ যদি ডেটা সফলভাবে ডিস্কে সংরক্ষণ করা হয়, অন্যথায় না।
সুইফটের সাথে কীভাবে এটি করা যায় তা এখানে;
var valueToSave = "someValue"
NSUserDefaults.standardUserDefaults().setObject(valueToSave, forKey: "preferenceName")
এটি পরে ফিরে পেতে;
if let savedValue = NSUserDefaults.standardUserDefaults().stringForKey("preferenceName") {
// Do something with savedValue
}
সুইফট ৩.০ এ
var valueToSave = "someValue"
UserDefaults.standard.set(valueToSave, forKey: "preferenceName")
if let savedValue = UserDefaults.standard.string(forKey: "preferenceName") {
}
এটার মতো কিছু:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
তারপরে পুনরুদ্ধার করতে:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
আপনার অবশ্যই অ্যাপলের এনএসউসারডেফল্টস ক্লাস রেফারেন্স এবং এটিও এই টিউটোরিয়ালটি পরীক্ষা করা উচিত: আইফোন প্রোগ্রামিং টিউটোরিয়াল - এনএসউজারডেফল্টস ব্যবহার করে ডেটা সংরক্ষণ / পুনরুদ্ধার
এই বিবৃতিটি ভুলে যাবেন না কারণ অন্যথায় এটি সর্বদা কার্যকর নাও হতে পারে:
[standardUserDefaults synchronize];
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"];
[[NSUserDefaults standardUserDefaults] setValue:aString forKey:aKey]
-(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]
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];
}
(আইবিএક્શન) সাবমিটটন: (আইডি) প্রেরক {
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];
}
(আইবিএশন) নির্বাচন করুন আইএমজি: (আইডি) প্রেরক {
UIImagePickerController * picker = [[UIImagePickerController বরাদ্দ
] init]; picker.delegate = স্ব; picker.allowsEditing = হ্যাঁ; পিকার.সোর্স টাইপ =
ইউআইআইমেজপিক্সকন্ট্রোলারসোর্স টাইপফোটো লাইবারি; [স্ব-উপস্থিত ভিউ কন্ট্রোলার: পিকার অ্যানিমেটেড: হ্যাঁ সমাপ্তি: নাল];
}
দ্বিতীয় দর্শন {NSMutableArray * অ্যারে; }
- (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; }
ইন Swift5 এবং Xcode 10.2
//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")
দ্রষ্টব্য: ব্যবহারকারী ডেফল্টগুলিতে পাঠ্য ডেটা সংরক্ষণ করুন (যার অর্থ স্ট্রিং, অ্যারে, অভিধান ইত্যাদি)। ইউজারডিফল্টগুলিতে চিত্রগুলি সংরক্ষণ করবেন না, এটি প্রস্তাবিত নয় (স্থানীয় ডিরেক্টরিতে চিত্রগুলি সংরক্ষণ করুন)।
সংরক্ষণের জন্য এটি ব্যবহার করুন:
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"KTerminated"];
[[NSUserDefaults standardUserDefaults]synchronize];
পুনরুদ্ধারের জন্য এটি ব্যবহার করুন:
[[[NSUserDefaults standardUserDefaults]stringForKey:@"KTerminated"] isEqualToString:@"YES"];
এখানে সুইফ্টের জন্য আমি দুটি ফাংশন তৈরি করি যা পছন্দ থেকে কীটির জন্য সংরক্ষণ এবং পুনরুদ্ধারের জন্য ডাকে
এটি আপনার জন্য পূর্ণ সাহায্য হতে পারে
// বস্তু সংরক্ষণের জন্য
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)!
}
সুইফটে 4.0.3 এক্সকোড 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!