2012-07-12 8 views
27

Estoy tratando de obtener las propiedades de mi clase utilizando el enfoque obj-c de tiempo de ejecución que encontré en las respuestas de aquí, sin embargo, estoy obteniendo una gran cantidad de advertencias/error al codificar, ¿necesito importar la biblioteca o hacer algo para tener las funciones obj-c runtime disponibles?objetivo-c error de tiempo de ejecución "Uso del identificador no declarado 'objc_property_t'"

objc_property_t * properties = class_copyPropertyList ([self class], & outCount);

Advertencia: "declaración implícita de la función 'class_copyPropertyList' no es válido en C99 de error: El uso del identificador no declarado 'objc_property_t'

Ésta es toda la porción que yo he copiado:

unsigned int outCount, i; 
objc_property_t *properties = class_copyPropertyList([self class], &outCount); 
for (i = 0; i < outCount; i++) { 
    objc_property_t property = properties[i]; 
    NSString *propertyName = [[NSString alloc] initWithCString:property_getName(property)]; 
    id propertyValue = [self valueForKey:(NSString *)propertyName]; 
    if (propertyValue) [props setObject:propertyValue forKey:propertyName]; 
} 
free(properties); 

gracias de antemano !.

+0

El mensaje de error significa que está utilizando funciones y tipos que el compilador no comprende. Averigüe cómo arreglar eso, y vaya desde allí ... –

Respuesta

76

Usted tiene que importar el tiempo de ejecución

#import <objc/runtime.h> 
+0

Gracias, esto es lo que me faltaba ^^ – Rubs

Cuestiones relacionadas