¿A qué debería prestar atención al crear clases dinámicamente en tiempo de ejecución?
{
clase MiClase = objc _ asignar par de clases([ns clase de objeto], " mi clase ",
/// Agregue una variable NSString, el cuarto parámetro es el método y el quinto parámetro es el tipo de parámetro.
if (class_addIvar(MyClass, " itest ", sizeof(NSString *), 0, "@ "){
NSLog(@"Agregar ivar correctamente");
}
//myclasstest es una función implementada. Para conocer la ortografía de "v@:", consulte la concatenación de tipos de parámetros
class_addMethod(MyClass, @selector(). myclasstest:), (imp)myclasstest, " v @:);
//Esta clase se puede utilizar registrándola en el sistema de ejecución.
objc _ Register classpair(my class);
//El objeto instanciado se genera
id myobj =[[my class alloc]init];
NSString * str = @. asdb
//Asigne un valor a la variable que acaba de agregar.
//Object _ setinstance variable(myobj, " itest ", (void *) amp; str); permitido en Usado bajo arco
[myobj setValue: str forKey: @ "itest "]
// Llame al método myclasstest para enviar el mensaje myclasstest al destinatario myobj. /p>
[myobj myclasstest:10];
}
//Este método en realidad no se llama, pero debe implementarse; de lo contrario, el siguiente método no se ejecutará llamado.
p>- (void)myclasstest: (int)a
{
}
//Llamar a este método
//Devuelve el valor de la variable denominada ivar de itest. = object_getIvar(self, v);
//Imprimir correctamente el resultado
NSLog(@" @", o
NSLog(@"); int a es d " , a);
}