este es mi datos strucure:

group [1...n] {
  id,
  name,
  elements : [1...n]
}

Puedo definir una clase para el elemento con todas las propiedades y una clase de grupo como:

@interface Group : NSObject {    
    NSInteger groupID;
    NSString *groupName;        
    NSMutableArray *elements;       
}

@property (assign, readwrite) NSInteger groupID;
@property (assign, readwrite) NSString *groupName;
@property (assign, readwrite) NSMutableArray *elements;

y el único elemento con:

@interface Element : NSObject {
    NSInteger elementID;
    NSString *elementName;
}
@property (assign, readwrite) NSInteger elementID;
@property (assign, readwrite) NSString *elementName;

Ambas clases tienen propiedades y sintetizar.
Cuando el inicio de la aplicación me inserta los datos en la estructura de datos con este:

arrGroup = [NSMutableArray array];
[arrGroup retain];
Element *element1 = [[Element alloc] init];
element1.elemenID = 1;
element1.elemenName = @"Andrea";

Element *element = [[Element alloc] init];
element2.elementID = 2;
element2.elementName = @"Andrea2";

Group *group = [[Group alloc] init];    
group.groupID = 1;
group.groupName = @"Grup 1";    
[group.elements addObject:element1];
[group.elements addObject:element2];

[contact1 release];
[contact2 release];

[arrGroup addObject:group];

El problema es que el [grupo.elementos addObjct:element1]. Nada se ha escrito sobre los elementos NSMutableArray.

Me podrían ayudar a encontrar el error? Hay un mejor método para recuperar los datos de estructura (grupos de elemens)?

gracias por la ayuda!
Andrea

Puede agregar la propiedad de las declaraciones y el código que inicializa elements?
En este punto supongo que has encontrado el problema! De hecho, me inicializar los elementos, pero acabo de añadir un NSMutableArray *elementos; grupo de definición de objetos. Pensé que @sintetizar es suficiente. No sé cómo inicializar los elementos de Matriz Mutable de los objetos de los elementos

OriginalEl autor Andrea Girardi | 2010-07-12

1 Comentario

  1. 15

    @synthesize sólo genera los getter y setter para su propiedad, usted tiene que tener cuidado de inicialización de ti mismo si es necesario.

    Para inicializar la matriz mutable hacer por ejemplo, esta en su inicializador:

    - (id)init { //or however it is named
        if ((self = [super init])) {
            elements = [[NSMutableArray alloc] init];
            //... more?
        }
        return self;
    }
    
    - (void)dealloc {
        [elements release]; //don't forget to clean up
        //... more?
        [super dealloc];
    }
    Excelente funciona!!!!!! Gracias!!! (Yo erróneamente definido el init, por esta razón yo no… tengo que volver a los libros…. 🙁 )

    OriginalEl autor Georg Fritzsche

Dejar respuesta

Please enter your comment!
Please enter your name here