سؤال

بالنسبة لتطبيقي الحالي، فأنا أستخدم نهج NSKEYEDARCHIVER للاستمرار في كائناتي إلى iPhone بين الإطلالات. أنا أتساءل عما إذا كان من المنطقي علوي وضع علامة على هذا الملف عند إنشاء رقم إصدار بحيث يكون ذلك في المستقبل عندما يقوم التطبيق بتقسيم أن نعرف أي نوع من البيانات التي نتعامل معها يجب أن تكون الترحيل ضرورية. هل يوصى بذلك لشيء بسيط مثل Nsarray من الكائنات المخصصة التي يتم تسلسلها مع NSKEYEDARCHIVER؟ إذا كان الأمر كذلك كيف / أين يجب أن تختتم رقم الإصدار؟

شكرا!

هل كانت مفيدة؟

المحلول

إذا كنت تشعر أن التنسيق سوف يتغير، فستكون نعم، ستحتاج إلى طريقة اكتشاف إصدار الملف الذي تعمل به. طريقة بسيطة للقيام بذلك (نظرا لأنك تستخدم Nsarray) ستكون ببساطة إضافة رقم الإصدار كأداة رقم NSNumber إما بداية أو نهاية الصفيف. بدلا من ذلك، للحصول على نهج أكثر تعقيدا لا يغير الملفات بالفعل، يمكنك تخزين المعلومات في ملف منفصل (أقول، باستخدام NSDictionary يربط اسم الملف ورقم الإصدار). أو، يمكنك استخدام نظام الإعدادات الافتراضية للمستخدم لتخزينه، وإذا كان الأمر متروكا في إصدار أقدم، قم بتحديث الملف ومفتاح الإعدادات الافتراضية للمستخدم.

لن أستخدم الطريقة الثانية، إلا إذا كنت تتعامل مع ملفات بيانات مفاتيح متعددة. من بين هؤلاء الثلاثة، ربما أختار آخر، ولكن قد يكون هناك طريقة أخرى للقيام بذلك مما يجعل أكثر منطقية.

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