Cher tous. Je dois conserver des informations temporaires dans le code. Quand j'y accède, je fais une copie instantanée de ma classe, je reçois le résultat sous MutableArray, mais je dois utiliser ce tableau dans d'autres méthodes de code. Je n'aime pas faire une copie instantanée de ma classe à nouveau, bcs cela prend de la mémoire et du temps processeur, mais je dois utiliser le reste du tableau dans d'autres méthodes. Actuellement je le garde dans le contrôleur de tableau, mais j'aime trouver un autre meilleur moyen. Pour certaines raisons, je n'aime pas envoyer le pointeur vers ce MutableArray comme paramètre de la méthode. ProjectArrays.h:meilleure façon de garder les tableaux dans le code
#import <Cocoa/Cocoa.h>
@interface ProjectArrays : NSObject {
NSMutableArray *myMutableArray;
}
@property (nonatomic, retain) NSMutableArray *myMutableArray;
+(ProjectArrays *)sharedProjectArrays;
@end
ProjectArrays.m:
#import "ProjectArrays.h"
#import "SynthesizeSingleton.h"
@implementation ProjectArrays
SYNTHESIZE_SINGLETON_FOR_CLASS(ProjectArrays)
@synthesize myMutableArray;
- (void)dealloc {
// Clean-up code here.
[myMutableArray release];
[super dealloc];
}
@end
AppDelegate.m:
[[ProjectArrays sharedProjectArrays].myMutableArray addObject:@"Test"];
NSLog (@"This is test first point:%@",[[ProjectArrays sharedProjectArrays].myMutableArray objectAtIndex:0]);
2010-11-21 19: 26: 18,636 neige [14523: a0f] Ceci est le premier point de test: (null)
ressemble au code ne peut pas prendre soin des objets.
Pouvez-vous expliquer un peu plus pour cela? Je suis novice en objectif-c. – Alex
Vous devez créer une classe singleton qui contient une propriété 'NSMutableArray * myMutableArray'. Pour créer une telle classe, vous devez inclure un fichier d'en-tête à partir du lien que j'ai fourni, puis appeler 'SYNTHESIZE_SINGLETON_FOR_CLASS (YourSingletonClassName);' dans sa section '@ implementation', puis appeler [[YourSingletonClassName sharedYourSingletonClassName] .myMutableArray' dans n'importe quel endroit de votre projet (n'oubliez pas d'inclure 'YourSingletonClassName.h' dès que vous voulez utiliser votre singleton). Est-ce un peu plus clair maintenant? – knuku
où je peux déclarer myMutableArray dans ce fichier d'en-tête? – Alex