Если для Codegen установлено значение Manual / None, вы можете написать свою собственную реализацию или , чтобы Xcode генерировал для вас подходящий подкласс. (Editor -> Create NSManagedObject Subclass...
) Все вспомогательные методы были бы легко доступны там. (при условии NSOrderedSet
)
extension WishList {
@objc(insertObject:inProductsAtIndex:)
@NSManaged public func insertIntoProducts(_ value: Product, at idx: Int)
@objc(removeObjectFromProductsAtIndex:)
@NSManaged public func removeFromProducts(at idx: Int)
@objc(insertProducts:atIndexes:)
@NSManaged public func insertIntoProduct(_ values: [Product], at indexes: NSIndexSet)
@objc(removeProductsAtIndexes:)
@NSManaged public func removeFromProducts(at indexes: NSIndexSet)
@objc(replaceObjectInProductsAtIndex:withObject:)
@NSManaged public func replaceProducts(at idx: Int, with value: Product)
@objc(replaceProductsAtIndexes:withProducts:)
@NSManaged public func replaceProducts(at indexes: NSIndexSet, with values: [Product])
@objc(addProductsObject:)
@NSManaged public func addToProducts(_ value: Product)
@objc(removeProductsObject:)
@NSManaged public func removeFromProducts(_ value: Product)
@objc(addProducts:)
@NSManaged public func addToProducts(_ values: NSOrderedSet)
@objc(removeProducts:)
@NSManaged public func removeFromProducts(_ values: NSOrderedSet)
}
... и наоборот для Product
и его wishlists
.
содержат множество функций, равно как и короткие механизмы для индексации больших объемов данных и глубокое знание доступных библиотек в целевой системе. (Этот материал можно просто связать.)
На вашем месте я бы начал с обратной инженерии ваших любимых 4k-демонстраций; возможно, начиная с 7-10 лет назад, и работаем вперёд, чтобы следить за последними достижениями в развитии. Анализ вывода вашего компилятора - тоже хорошее место для начала, хотя они, как правило, оптимизируются по скорости, а не по пространству.
Методы встроенного программирования также могут быть полезны с учетом ограничений, с которыми они работают регулярно.
Тем временем я нашел отличный веб-сайт, посвященный кодированию 4K:
Возможно, это не совсем то, что вы ищете, но в том же духе: есть несколько конкурсов Java 4k. Цель состоит в том, чтобы создать демонстрацию Java или даже игру (!), Которая полностью умещается в один JAR размером не более 4096 байт.
См., Например,
http://www.mojang.com/notch/j4k/l4kd/
или
http://javaunlimited.net/contests/java4k.php
Кто-то может возразить, что Java делает его намного проще (поскольку вы можете использовать всю среду выполнения), но все равно впечатляет (и вы кроссплатформенность и не требует изучения ассемблера;)).