В SQL Server 2005 Вы больше не должны работать хранимая процедура sp-blocker-pss80 . Вместо этого можно сделать:
exec sp_configure 'show advanced options', 1;
reconfigure;
go
exec sp_configure 'blocked process threshold', 30;
reconfigure;
можно тогда запустить SQL Trace и выбрать Заблокированный процесс, сообщает класс событий в группе Ошибок и Предупреждений. Детали того события здесь .
В NSManagedObject определенно нет ничего, что могло бы предотвратить это; Я делаю именно это в приложении, над которым работаю. Можете ли вы опубликовать еще свой код?
Еще одна мысль: вы уверены, что это setValue: forUndefinedKey:
вызывает исключение? Я уверен, что для управляемого объекта вам также необходимо реализовать valueForUndefinedKey:
(получатель), чтобы все работало правильно.
Простой вопрос, но указываете ли вы имя класса подкласса NSManagedObject для объекта в вашей модели?
Кроме того, вы сказали, что инициализируете управляемый объект ... как? Вы должны вставлять его через + [NSEntityDescription insertNewObjectForEntityForName: inManagedObjectContext:] в большинстве случаев, если у вас нет веской причины не делать этого.
Быстрый дамп класса инфраструктуры CoreData показывает, что NSManagedObject
также переопределяет setValuesForKeysWithDictionary:
, поэтому похоже, что он определенно выполняет некоторые настройки для этот метод, возможно, из соображений производительности или чего-то в этом роде. Я, вероятно, просто напишу свой собственный метод, эквивалентный setValuesForKeysWithDictionary:
, и вызову его вместо этого, чтобы избежать всего беспорядка. Примерно так:
- (void)mySetValuesForKeysWithDictionary:(NSDictionary*)dict
{
for (NSString* key in dict)
[self setValue:[dict objectForKey:key] forKey:key];
}