object_setClass в больший класс

Я изменяю класс некоторых объектов, используяobject_setClass(id object, Class cls), Я меняю класс наподкласс оригинального класса. Затем я установил некоторые свойства, которые определены только для подкласса, и, похоже, все работает нормально.

Я был немного удивлен, что это сработало, потому чтоobject_setClassнасколько я понимаю, не перераспределяет объект, он только меняетisa указатель. Если экземпляры подкласса значительно больше (то есть имеют намного больше иваров), чем исходные экземпляры класса, я не вижу, как объект может работать, как ожидалось.

Это работает только потому, что между объектами в памяти много буферной памяти (из-за выравнивания и т. Д.)?

Это надежно, или это могло потерпеть крах при некоторых обстоятельствах?

Ответы на вопрос(2)

Ваш ответ на вопрос