إضافة واحد إلى العديد من العلاقات في سويفت

StackOverflow https://stackoverflow.com//questions/25091634

  •  02-01-2020
  •  | 
  •  

سؤال

أنا جديدة على البرمجة دائرة الرقابة الداخلية وتحتاج فقط مساعدة صغيرة.أحاول استخدام البيانات الأساسية وإنشاء إدراج بسيط حيث يوجد واحد إلى العديد من سفينة العلاقة.تبدو بنية البيانات الأساسية البسيطة جدا كما يلي

enter image description here

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

ولدت كسكودي الأب.سويفت

class Father: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var fatherToChild: NSSet

}

كسكودي ولدت الطفل.سويفت

class Child: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var child_father: NSManagedObject

}

طريقة إضافة البيانات الخاصة بي:

    func addData(){
   var appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
   var context: NSManagedObjectContext = appDel.managedObjectContext!

    var fatherEntity = NSEntityDescription.entityForName("Father", inManagedObjectContext: context)
    var newFather = Father(entity: fatherEntity, insertIntoManagedObjectContext: context)
    newFather.name = "Daddy"


    var childEntity = NSEntityDescription.entityForName("Child", inManagedObjectContext: context)
    var child1 = Child(entity: childEntity, insertIntoManagedObjectContext: context)
    child1.name = "child1"
    var child2 = Child(entity: childEntity, insertIntoManagedObjectContext: context)
    child2.name = "child2"

    //How to map these 2 childs to father? Need help in code here!

    context.save(nil)

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

المحلول

كل ما عليك فعله هو ضبط العلاقة من طفل إلى أب:

child1.child_father = newFather
child2.child_father = newFather

يقوم هذا تلقائيا بتحديث العلاقة (العكسية) في newFather.

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