При создании объекта отношения управляемого (т.е. один ко многим), а затем создать подкласс NSManagedObject, вы бы кодировать эти отношения как:Использования набранного Набор в CoreData NSManaged отношений
@NSManaged var dogs: NSSet
Но я узнал что вместо этого вы можете написать:
@NSManaged var dogs: Set<Dog>
что, на мой взгляд, это гораздо удобнее, потому что у вас есть типизированный набор и литье в Swift является довольно громоздким.
Отредактировано: На самом деле, я обнаружил, что вы можете использовать insert
и remove
метод набора, так что это еще проще.
Я знаю о Swift автоматической bridging из некоторых классов Foundation для классов Swift (т.е. NSArray
к Array
и NSSet
к Set
).
Но я не нашел об использовании наборов с набором Swift для реализации подклассов объектов, управляемых базовыми данными, в docs или в любом другом учебнике, и мне интересно, почему.
Я использую Xcode 7.2 и Swift 2, и он отлично работает в моем проекте. Это также работает для кого-то другого? какой-нибудь документ от Apple? или это плохая идея, по какой-то причине мне не хватает?
Он работает, и это отличный подход. Я делаю это в нескольких своих проектах. –
Спасибо @PetahChristian за подтверждение. – FranMowinckel
@PetahChristian не могли бы вы подтвердить, что методы 'insert' и' remove' 'Set' также работают? Потому что он работает для меня, а затем я нахожу довольно глупым подход к добавлению функций @NSManaged addX. – FranMowinckel