البرمجة

مشكلة إنشاء subclasses NSManagedObject في Xcode 8 beta

عند استخدام Core Data مع Swift 3 وXcode 8 beta، قد تواجه مشكلة في إنشاء subclasses لـNSManagedObject. عند محاولة إنشاء subclasses باستخدام خيار Create NSManagedObject subclass في قائمة Editor، قد يقوم Xcode 8 beta بإنشاء ملف يسمى “COREDATA_DATAMODELNAME+CoreDataModel.swift” والذي يحتوي على الكود التالي:

swift
import Foundation import CoreData ___COREDATA_DATAMODEL_MANAGEDOBJECTCLASSES_IMPLEMENTATIONS___

هذا الملف يتم إنشاؤه ليحتوي على تعريفات الـNSManagedObject subclasses التي تم إنشاؤها من نموذج Core Data الخاص بك. ولكن، يبدو أن Xcode يواجه مشكلة في استبدال النص “COREDATA_DATAMODEL_MANAGEDOBJECTCLASSES_IMPLEMENTATIONS” بتعريفات الـNSManagedObject subclasses الفعلية.

لحل هذه المشكلة، يمكنك القيام بالخطوات التالية:

  1. قم بإغلاق Xcode.
  2. افتح Terminal وانتقل إلى مجلد مشروعك.
  3. قم بتنفيذ الأمر التالي لإزالة الملف الذي تسبب في المشكلة:
bash
rm "_COREDATA_DATAMODELNAME_+CoreDataModel.swift"
  1. افتح Xcode وقم بإعادة إنشاء subclasses للـNSManagedObject باستخدام الخيار Create NSManagedObject subclass.

بعد هذه الخطوات، يجب أن تكون قادرًا على إنشاء subclasses للـNSManagedObject بنجاح دون وجود المشكلة التي تواجهها.

المزيد من المعلومات

عند استخدام Core Data في تطبيقات iOS باستخدام Swift 3 وXcode 8 beta، يمكن أن تواجه مشكلة في إنشاء subclasses للـNSManagedObject بسبب خطأ في Xcode 8 beta في توليد ملف “COREDATA_DATAMODELNAME+CoreDataModel.swift” بشكل صحيح.

هذا الملف يتم إنشاؤه تلقائيًا عندما تقوم بتوليد subclasses للـNSManagedObject باستخدام Xcode، ويجب أن يحتوي على تعريفات subclasses لجميع الـNSManagedObject التي تم إنشاؤها من نموذج Core Data الخاص بك. ومع ذلك، يبدو أن Xcode 8 beta يقوم بإنشاء هذا الملف بشكل غير صحيح، مما يؤدي إلى ظهور رسالة الخطأ التي ذكرتها.

لحل هذه المشكلة، يمكنك إعادة توليد الملف “COREDATA_DATAMODELNAME+CoreDataModel.swift” بشكل صحيح عن طريق إعادة إنشاء subclasses للـNSManagedObject. للقيام بذلك، اتبع الخطوات التالية:

  1. إغلاق Xcode.

  2. افتح Terminal وانتقل إلى مجلد مشروعك.

  3. احذف الملف “COREDATA_DATAMODELNAME+CoreDataModel.swift” باستخدام الأمر التالي:

    bash
    rm "_COREDATA_DATAMODELNAME_+CoreDataModel.swift"
  4. افتح Xcode واذهب إلى ملف الـCore Data Model (ملف الامتداد .xcdatamodeld).

  5. من قائمة Editor، اختر “Create NSManagedObject Subclass…”.

  6. حدد الـEntity التي ترغب في إنشاء subclass لها وانقر على “Next”.

  7. حدد المكان الذي تريد حفظ الملفات فيه وانقر على “Create”.

بعد إتمام هذه الخطوات، يجب أن يتم إنشاء الملف “COREDATA_DATAMODELNAME+CoreDataModel.swift” بشكل صحيح ويحتوي على تعريفات subclasses الـNSManagedObject الخاصة بك، ويمكنك استخدامها بدون وجود أي مشاكل.

زر الذهاب إلى الأعلى