J'ai eu quelques problèmes avec certaines variables à l'intérieur d'une classe en cours de suppression ces derniers temps. Voici comment je déclare:Classes supprimant des variables? iPhone SDK
MyClass *myClass;
-(void)viewDidLoad {
myClass = [MyClass new];
//something using my class
puis quand je l'appelle une fonction plus tard, qui utilise un tableau et un dictionnaire intérieur de la classe.
[myClass doSomething];
Voici le code que j'obtiens dans la console.
-[CFArray objectAtIndex:]: message sent to deallocated instance 0x5d1f370
Voici comment je déclare la zone dans la classe
NSArray *myArray;
-(void)doSomething{
myArray = [NSArray array];
Puis plus tard, je joue juste un objectAtIndex valide sur le tableau. Quelqu'un s'il vous plaît aidez-moi.
Le tableau est la seule chose qui pose problème. [Tableau NSArray] renvoie un objet autoreleased. [MyClass new] renvoie un objet qui a déjà été conservé. Donc, laissez le [MyClass new] seul, et permutez le [tableau NSArray] pour la suggestion de @ [NSArray array] de Blaenk ou plus généralement [NSArray new] ou [NSArray alloc] init]. – imaginaryboy
merci pour la clarification imaginaryboy, je vais l'ajouter dans ma réponse –
Je le fais dans mon interface. @property (nonatomic, retain) NSArray * myArray; – Chris