سؤال

سؤال مبتدئ آخر: ما هي أفضل طريقة لتخزين البيانات في تطبيق الكاكاو المكتوب في OBJ-C؟ على سبيل المثال ، إذا كنت أرغب في إنشاء نوع من "Quizzer" الذي يسأل المستخدم بأسئلة مكتوبة مسبقًا (وكتابة المستخدم)؟ كيف يمكنني تخزين هذه الأسئلة والأجوبة؟ البيانات الأساسية؟

شكرًا!

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

المحلول

بالطبع هو البيانات الأساسية!

سوف يتعامل مع كل شيء .. ألقِ نظرة هنا: http://developer.apple.com/macosx/coredata.html

إنها واجهة برمجة تطبيقات كاملة يمكنها التعامل معها:

  • orm بين قواعد البيانات وكائنات وقت التشغيل
  • إصرار
  • أدوات البناء التلقائية (مثل محرر ER)
  • إنه جاهز للخروج من المربع ، فلن تحتاج إلى تنفيذ أي شيء تقريبًا .. سيكون لديك بالفعل الوصول إلى بياناتك عن طريق الاستعلام عنها فقط إلى وحدات تحكم الكائنات

من المحتمل أن يكون هذا الحل حجمًا كبيرًا لمشكلتك ، لكنك ستتعلم كيفية استخدامه بحالة بسيطة ، وسأكون في متناول يدي في المستقبل ..

نصائح أخرى

البيانات الأساسية هي بالتأكيد خيار ممتاز ، كما أظهر @Jack. هناك بعض الخيارات الأخرى كذلك.

  1. NSCoding - يمكنك جعل كائنات النموذج الخاصة بك تتوافق مع بروتوكول NSCDING (على غرار java.io.Serializable) ، مما يعني أنك ستتمكن من كتابتها مباشرة إلى الملفات. لقد وجدت أن هذا خيار رائع عندما لا يكون لديّ كميات هائلة من البيانات لاستمرارها ، والبيانات التي سأستمر فيها لها بنية بسيطة نسبيًا.

  2. SQLite - إذا كانت بياناتك علائقية للغاية ، فقد ترغب في التفكير في استخدام قاعدة بيانات (ربما SQLite) مباشرة. البيانات الأساسية هي متجر للكائنات ، وبينما يتعامل مع أشياء مثل العلاقات بين الكائنات ، فإنها لا تسمح لك بالقيام بأشياء مفيدة حقًا مثل INNER/LEFT/OUTER/CROSS/NATURAL JOIN أو غيرها من المشغلين متعددة الطاولة.

  3. NSUserDefaults - إذا كانت بياناتك صغيرة جدًا وكانت مجرد أزواج ذات قيمة رئيسية ، فربما يمكنك رميها جميعًا في NSUserDefaults كائن ، والذي سيستمر بالنسبة لك في ملف التفضيلات. ومع ذلك ، حتى لو كانت بياناتك بسيطة ، NSUserDefaults قد لا يكون الخيار الأفضل إذا كان لديك الكثير منه.

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