Я не знаю, как это сделать в PyObjC, но функция выполнения Objective C для этого должна быть objc_disposeClassPair()
.Немного поиска привело к указанию, что использование этой функции времени выполнения Objective C может не работать в PyObjC:
Сообщение фиксации PyNbjC SVN от января 2008 года гласит: Initial attempt of using objc_disposeClassPair. Disabled because this causes an unexpected crash.
http://blog.gmane.org/gmane.comp.python.pyobjc.cvs/month=20080101
рассматриваемый код все еще находится в текущем class-builder.m исходного кода PyObjC в строке 164ff и содержит префикс интересного комментария:
/*
* Call this when the python half of the class could not be created.
*
* Due to technical restrictions it is not allowed to unbuild a class that
* is already registered with the Objective-C runtime.
*/
int
PyObjCClass_UnbuildClass(Class objc_class __attribute__((__unused__)))
{
PyObjC_Assert(objc_class != nil, -1);
PyObjC_Assert(objc_lookUpClass(class_getName(objc_class)) == nil, -1);
//objc_disposeClassPair(objc_class);
return 0;
}
При этом я никогда не использовал это в самом Objective-C иЯ не знаю много о PyObjC.Надеюсь, это поможет.