سؤال

أنا أستخدم شيئا مثل الكود أدناه لحفظ nsdictionary من الكائنات إلى الجهاز. هل هناك طريقة لفتح هذا الأرشيف، والانتقال إلى أسفل عناصر القاموس الذي يحتوي عليه، من الناحية المثالية, ، تحرير البيانات؟ تخميني لا، غير موثوق، كما فعل التحسين عند الحفظ يجعل الأرشيف يصعب تفسير ... على الأقل يبدو بهذه الطريقة عند فتح شيء مثل محرر قائمة العقارات. وبعد على سبيل المثال، إذا شارك بعض كائناتي في nsstring مماثلة يبدو أنه قال إن nsstring فقط أرشفة مرة واحدة ... تغيير هيكل NSDictionary من ما كنت أتوقعه.

- (BOOL)writeDataToFile {
 NSMutableData *data = [[NSMutableData alloc] init];
 NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
 [archiver encodeObject:myDictionary forKey:kDataKey];
 [archiver encodeInteger:kDataFileVersion forKey:kDataVersionKey];
 [archiver finishEncoding];
 BOOL success = [data writeToFile:[self dataFilePath] atomically:YES];
 [archiver release];
 [data release];
 return success;
}
هل كانت مفيدة؟

المحلول

السؤال الحقيقي هو "يجب عليك؟" ... على الاغلب لا.

بالتأكيد، يمكنك تحليل تنسيق الملف، ولكن هذا التنسيق هو تفاصيل التنفيذ التي استطاع التغيير وليس فقط لا يستحق كل هذا العناء.

لماذا تحاول القيام بذلك؟ هل تحاول إجراء تعديلات تدريجية بيانات أساسية + SQLite؟ هل ستعمل فقط SQLite القديم نفسها حل مشكلتك؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top