object_setClass zu größerer Klasse
Ich ändere die Klasse einiger Objekte mitobject_setClass(id object, Class cls)
. Ich ändere die Klasse in einUnterklass der ursprünglichen Klasse. Dann habe ich einige Eigenschaften festgelegt, die nur für die Unterklasse definiert sind, und die Dinge scheinen gut zu funktionieren.
Ich war ein bisschen überrascht, dass dies funktioniert, weilobject_setClass
oweit ich weiß, ordnet @ das Objekt nicht neu zu, sondern ändert nur dasisa
Zeiger. Wenn die Unterklasseninstanzen erheblich größer sind (dh viel mehr Ivars haben) als die ursprünglichen Klasseninstanzen, kann das Objekt nicht wie erwartet funktionieren.
Funktioniert dies nur, weil zwischen den Objekten im Speicher viel Pufferspeicher vorhanden ist (aufgrund von Ausrichtung usw.)?
Ist das robust oder könnte es unter Umständen abstürzen?