Я могу закодировать подкласс NSManagedObject?

кто-либо провожает Серверную сторону взятие JavaScript?

Попытка, смотрящая http://www.appjet.com , запуск, делающий, разместил приложения JavaScript для получения ощущения того, что можно сделать. Мне особенно нравится процесс обучения, который мягко пошагово перемещает пользователя для создания вещей с минимальными издержками ~ http://appjet.com/learn-to-program/lessons/intro

Теперь, это могло бы казаться странной идеей в данный момент, чтобы использовать JavaScript, но вспомнить когда запущенный выход ПК. Каждый компьютерный фанат, о котором я знал, вводил далеко в их новом Мусор 80 , Commodore64, Apple] [ ввод в играх или простые приложения в ОСНОВНОМ.

, Где сегодняшний основной для младшего хакера?

просто возможно, что JavaScript мог сделать для Веб-серверных приложений, как ОСНОВНОЙ сделал для ПК.

18
задан Cory Imdieke 3 September 2009 в 06:46
поделиться

2 ответа

Экземпляр NSManagedObject не может значимо существовать вне экземпляра NSManagedObjectContext , поэтому я бы не стал пытаться выполнить NSCoding танцы, необходимые для прямой сериализации и десериализации NSManagedObject между двумя контекстами (вы можете сделать это; см. Ниже). Вместо этого я бы создал словарь с соответствующими ключами / значениями атрибутов (вы можете получить имена атрибутов через имена атрибутов экземпляра управляемого объекта через instance.entity.attributesByName.allKeys (вы можете использовать [instance DictionaryWithValuesForKeys: keys] , чтобы получить словарь пар атрибут: значение). Я бы отправил информацию о взаимосвязи как NSURL -encoded NSManagedObjectIDs . Don ' Не забудьте включить экземпляр managedObjectID (как NSURL ) в словарь, чтобы вы могли повторно подключить любые отношения к объекту на другом конце. Вам нужно будет рекурсивно создать эти словари для любых целей отношений для экземпляра, который вы кодируете.

Затем отправьте dict (s) по сети и воссоздайте их на другом конце как экземпляры в контексте нового управляемого объекта. (вы можете использовать setValuesForKeysWithDictionary: ).

Вы можете заметить, что это именно то, что система NSCoder сделает за вас, за исключением того, что вам придется использовать classForCoder , replaceObjectForCoder: и awakeAfterUsingCoder: вместе с настраиваемым подклассом NSDictionary для обработки всех сопоставлений NSManageObject -to- NSDictionary и наоборот. По моему опыту, этот код создает больше проблем, чем он того стоит, если только у вас нет сложного / глубокого графа объектов, который вы пытаетесь сериализовать. Для одного экземпляра NSManagedObject без отношений определенно проще просто выполнить преобразование в dict и обратно самостоятельно.

27
ответ дан 30 November 2019 в 07:50
поделиться

Звучит как работа для TPAutoArchiver .

3
ответ дан 30 November 2019 в 07:50
поделиться