উত্তর:
এনএসডি অভিধান -> এনএসডিটা:
NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:myDictionary];
এনএসডাটা -> এনএসডেটরিজ:
NSDictionary *myDictionary = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:myData];
এনএসডি অভিধান -> এনএসডিটা:
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:yourDictionary forKey:@"Some Key Value"];
[archiver finishEncoding];
[archiver release];
// Here, data holds the serialized version of your dictionary
// do what you need to do with it before you:
[data release];
এনএসডাটা -> এনএসডি অভিধান
NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
NSDictionary *myDictionary = [[unarchiver decodeObjectForKey:@"Some Key Value"] retain];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
এনএসকোডিং অনুসারে যে কোনও শ্রেণীর সাথে আপনি এটি করতে পারেন।
এনএসজেএসএসনারাইজেশন ব্যবহার করুন:
NSDictionary *dict;
NSData *dataFromDict = [NSJSONSerialization dataWithJSONObject:dict
options:NSJSONWritingPrettyPrinted
error:&error];
NSDictionary *dictFromData = [NSJSONSerialization JSONObjectWithData:dataFromDict
options:NSJSONReadingAllowFragments
error:&error];
সর্বশেষতম রিটার্নস id
, সুতরাং আপনি কাস্ট করার পরে ফিরে আসা অবজেক্টের ধরণটি পরীক্ষা করা ভাল ধারণা (এখানে আমি এনএসডি অভিধানে কাস্ট করেছি)।
ইন সুইফট 2 আপনি এই ভাবে এটা করতে পারেন:
var dictionary: NSDictionary = ...
/* NSDictionary to NSData */
let data = NSKeyedArchiver.archivedDataWithRootObject(dictionary)
/* NSData to NSDictionary */
let unarchivedDictionary = NSKeyedUnarchiver.unarchiveObjectWithData(data!) as! NSDictionary
ইন সুইফট 3 :
/* NSDictionary to NSData */
let data = NSKeyedArchiver.archivedData(withRootObject: dictionary)
/* NSData to NSDictionary */
let unarchivedDictionary = NSKeyedUnarchiver.unarchiveObject(with: data)
Any?
টাইপ হয়। তবে এটি থেকে রূপান্তর NSDictionary
করতে ত্রুটি দেখিয়েছে NSData
। সুতরাং আমি আপনার কোড চেষ্টা করেছিলাম। এটা কাজ করে না.
এনএসডাটা থেকে এনএসডি অভিধান
http://www.cocoanetics.com/2009/09/nsdictionary-from-nsdata/
এনএসডাটা এনএসডাটা
আপনি তার জন্য এনএসপোপার্টিলিস্টরিশায়নের ক্লাস ব্যবহার করতে পারেন। এর পদ্ধতিটি একবার দেখুন:
+ (NSData *)dataFromPropertyList:(id)plist format:(NSPropertyListFormat)format
errorDescription:(NSString **)errorString
একটি নির্দিষ্ট বিন্যাসে প্রদত্ত সম্পত্তি তালিকার একটি এনএসডাটা অবজেক্ট ফেরত দেয়।
এটি চেষ্টা করুন
NSError *error;
NSDictionary *responseJson = [NSJSONSerialization JSONObjectWithData:webData
options:NSJSONReadingMutableContainers
error:&error];
response
, না responce
। আমি আপনার জন্য এটি সংশোধন করেছি।