2010-04-04 2 views
0

J'ai peuplé et tableau avec des données comme celui-ci dans une classe ...Comment puis-je mettre un tableau dans une classe avec un autre tableau dans une autre classe

PowerClass.h 

NSMutableArray pickerArray; 
@property (nonatomic, retain) NSMutableArray pickerArray; 

-

PowerClass.m 

@synthesize pickerArray; 

@implementation 
NSMutableArray *array = [[NSArray alloc] initWithObjects:@"stef", @"steve", @"baddamans", @"jonny", nil]; 
pickerArray = [NSMutableArray arrayWithArray:array]; 

Et Je suis en train de mettre le tableau dans une autre classe

WeekClass.h 

PowerClass   *powerClass; 
NSMutableArray *pickerData; 

@property (nonatomic, retain) NSMutableArray pickerData; 
@property (nonatomic, retain) PowerClass *powerClass; 

WeekClass.m 

@implementation 
pickerData = [NSMutableArray arrayWithArray:powerClass.pickerArray]; 

Je n'ai pas des erreurs ou des avertissements. Il se bloque juste. Le NSLog dit que le powerClass.pickerArray est NULL.

S'il vous plaît, aidez-moi à me diriger dans la bonne direction.

Répondre

2

Gestion de la mémoire!

Vous avez défini pickerArray = [NSMutableArray arrayWithArray:array];, qui est un objet autoreleased. Au moment où vous demandez pickerArray plus tard, il a disparu!

La solution consiste à utiliser les accesseurs @synthesize d. Au lieu de:

pickerArray = [NSMutableArray arrayWithArray:array]; 

... utilisez une des options suivantes:

[self setPickerArray:[NSMutableArray arrayWithArray:array]]; 
self.pickerArray = [NSMutableArray arrayWithArray:array]; 
//These two are exactly equivalent, but are both very different from what you have now. 

De cette façon, votre propriété se chargera pour vous la gestion de la mémoire.

+0

Salut, Bravo J'ai mal posé ma question ... Désolé ... Je voulais dire le sélecteur de classe de la semaine. La donnée était nulle ... Que puis-je faire? (Désolé, il était 4h Royaume-Uni quand je l'ai envoyé :-)) Merci encore ... – Stef

Questions connexes