J'ai une classe JSONModel dans mon application objective-c. J'utilise cette classe avec un singleton puis initialiser cette classe avec ce code:Comment vérifier si la classe JSONModel a été initialisée dans Objective-c?
MyClass *client = [[MyClass alloc] init];
client = [[MyClass alloc] initWithDictionary:myDictionary error:nil];
.h
@interface MyClass : JSONModel
...
+ (id)sharedInstance;
...
@end
.m
static MyClass *singletonObject = nil;
+ (id) sharedInstance
{
if (! singletonObject) {
singletonObject = [[MyClass alloc] init];
}
return singletonObject;
}
- (id)init
{
if (! singletonObject) {
singletonObject = [super init];
}
return singletonObject;
}
J'essaie vérifier si je devais mon initialize classe comme:
if([MyClass sharedInstance] == nil){
Mais je t ne fonctionne pas ... Comment puis-je vérifier si elle a été initialisée?
Bien sûr que n » t work - 'sharedInstance' initialise l'objet s'il était' nil' avant de le retourner. Cela ressemble à un [problème X/Y] (https: //meta.stackoverflow.com/questions/254341/a-voiture-avec-roues carrées); Qu'essayez-vous de faire? – NobodyNada
I Initialiser MyClass avec les données reçues du serveur lors d'un appel mais ensuite, je veux supprimer et rappeler ainsi je vérifie quand est vide pour faire l'appel et quand non ,, Espérons être clair – user3745888
Je ne suis vraiment pas sûr de ce que vous fais ça ici. Pourquoi avez-vous même besoin d'un singleton? Aussi, que se passe-t-il dans votre méthode 'init'? Je pense que vous pourriez même violer les conventions de gestion de la mémoire, ce qui se traduira finalement par des bogues étranges. – NobodyNada