আমি একটি বিকল্প খুঁজে পেয়েছি, সংরক্ষণের আগে, আমি NSArray
ব্যবহার করে মূল বস্তু ( বস্তু) এনকোড করেছি NSKeyedArchiver
, যা শেষ হয় NSData
। তারপরে ব্যবহারকারীর ডেফল্টগুলি সংরক্ষণ করুন NSData
।
আমার যখন ডেটা দরকার তখন আমি পড়ি NSData
এবং অবজেক্টে ফিরে NSKeyedUnarchiver
রূপান্তর করতে ব্যবহার করি NSData
।
এটি একটু কষ্টকর, কারণ আমাকে NSData
প্রতিবার থেকে / থেকে রূপান্তর করতে হবে তবে এটি কেবল কার্যকর।
অনুরোধ অনুযায়ী এখানে একটি উদাহরণ:
সংরক্ষণ:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *arr = ... ; // set value
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];
[defaults setObject:data forKey:@"theKey"];
[defaults synchronize];
ভার:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:@"theKey"];
NSArray *arr = [NSKeyedUnarchiver unarchiveObjectWithData:data];
অ্যারে প্রয়োগকারী উপাদান
@interface CommentItem : NSObject<NSCoding> {
NSString *value;
}
তারপরে বাস্তবায়নে CommentItem
দুটি পদ্ধতি সরবরাহ করা হয়:
-(void)encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject:value forKey:@"Value"];
}
-(id)initWithCoder:(NSCoder *)decoder
{
self.value = [decoder decodeObjectForKey:@"Value"];
return self;
}
এর চেয়ে ভাল সমাধান কারও আছে?
ধন্যবাদ সবাইকে.