2011-10-11 5 views
-1

pendant la simulation de course iphone, je montre l'erreur pour "EXC_BAD_ACCESS" dans le code Xcode"EXC_BAD_ACCESS" dans Xcode

est ci-dessous:

Test.h

@interface Test : UIViewController 
{ 
    NSNumber *nWieght; 
} 

@property (nonatomic,retain) NSNumber *nWieght; 

end 

Test.m

@implementation Test 

@synthesize nWieght; 

- (void)viewDidLoad 
{ 
    ... 
} 

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 

    **NSLog(@"integer Number is :%@", iWeight); // error occur** 

} 

Si je clique sur le bouton de UIAlertView, Xcode se produisent erreur "EXC_BAD_ACCESS" à ce code

Je ne sais pas pourquoi ce code se produit erreur. Aidez moi.

+0

nWieght n'est probablement pas conservé et a donc été désalloué. – jbat100

+0

J'ai initialisé iWeight dans la méthode ViewdidLoad. – Nockdoo

+0

pouvez-vous poster la ligne de code où vous initialisez nWieght? – jbat100

Répondre

0

Je suppose que vous voulez dire nWieght sur cette ligne NSLog - sinon mettre à jour avec plus de code.

Qu'est-il arrivé à nWieght dans sa vie? A-t-il une valeur - cette valeur a-t-elle été libérée et désaffectée? La manière la plus simple de dire est d'allumer les Zombies avec l'instrument Zombies. Cela permettra à chaque objet de ne pas être libéré lorsqu'il est entièrement libéré, et de le transformer en un objet zombie à la place. Si vous essayez d'envoyer un message à un zombie, il se plaindra fortement dans la console, et vous obtiendrez une meilleure indication de ce que vous avez mal fait.

Il y a beaucoup d'autres façons de faire en sorte que EXC_BAD_ACCESS, que je documenté ici:

http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html

1

Vous avez vraiment laissé les éléments essentiels ici (la mission réelle) et que vous utilisez iWeight au lieu de nWeight (faute de frappe i suis sûr que) dans votre exemple. Assurez-vous simplement que lorsque vous affectez le NSNumber, vous lui attribuez un objet NSNumber et non un littéral (par exemple, nWeight = 5). et assurez-vous également que vous utilisez la propriété. self.nWeight = [NSNumber numberWithInt:5];

Questions connexes