2011-02-09 3 views
1

J'ajoute deux étiquettes et deux vue d'image à la sous-vue.Programme reçu le signal: "EXC_BAD_ACCESS" tout en ajoutant la sous-vue à la vue principale

quand jamais je tape sur le bouton, j'ajoute cette sous-vue à la vue principale.

Je reçois des images du serveur Web et les enregistre dans des documents de simulateur locaux.

NSMutableString *about_name_str = [[NSMutableString alloc]init]; 
    [about_name_str appendString:[myDictionary objectForKey:@"firstname"]]; 
    [about_name_str appendString:@" "]; 
    [about_name_str appendString:[myDictionary objectForKey:@"lastname"]]; 
    [about_name_label setText:about_name_str]; 
    NSMutableString *about_addr_str = [[NSMutableString alloc]init]; 
    [about_addr_str appendString:[myDictionary objectForKey:@"state"]]; 
    [about_addr_str appendString:@","]; 
    [about_addr_str appendString:[myDictionary objectForKey:@"country"]]; 
    [about_addr_label setText:about_addr_str]; 
    about_image.image = [UIImage imageWithContentsOfFile:imagepath]; 
    about_logo.image = [UIImage imageWithContentsOfFile:logopath]; 
    if ([myDictionary objectForKey:@"companyurl"]) { 
     [about_url_button setTitle:[myDictionary objectForKey:@"companyurl"] forState:UIControlStateNormal]; 
     about_url_button.userInteractionEnabled = YES; 
    } 
    else { 
     about_url_button.userInteractionEnabled = NO; 
    } 




     [self.view addSubview:about_view]; 

mon code.

parfois j'ai obtenu Program received signal: "EXC_BAD_ACCESS". et l'application se ferme.

Je vérifie en plaçant des points de rupture, et dans le débogueur je n'ai pas obtenu où je reçois l'erreur.

peut-on m'aider s'il vous plaît, Comment puis-je résoudre ce problème.

Merci d'avance.

+0

savez-vous où les heurtes de code? –

+0

1. Vous devriez utiliser '[NSString stringWithFormat: @"% @% @ ", [myDictionary objectForKey: @" prénom "], [myDictionary objectForKey @" secondname "]]; Ce sera plus efficace et plus agréable à lire. 2. NE JAMAIS mettre _s dans les noms de variables! C'est horrible. En objectivec, les noms de variables sont codés en chameau. Par exemple, au lieu de 'about_url_button', vous devriez utiliser' aboutUrlButton'. –

+0

3. Pouvons-nous voir où vous créez about_view? Essayez de définir NSZombieEnabled sur YES dans les arguments d'exécution de votre application et vérifiez si vous obtenez une erreur. –

Répondre

2

Essayez d'utiliser NSZombie .. Il est un moyen facile de trouver où le EXCBADACCESS se produit ... Il doit préciser la méthode où et quel objet se désalloué (Son concept assez impressionnant j'aime dans Instruments) ...

Voir ce lien http://www.markj.net/iphone-memory-debug-nszombie/

-1

Vous devez insérer un point d'arrêt avant que ce code ne soit exécuté, puis le parcourir pour trouver la ligne exacte à l'origine du mauvais accès. Vous avez probablement un pointeur nul ou sauvage quelque part.

+0

Il a écrit: "Je vérifie en plaçant des points de rupture, et dans le débogueur, je n'ai pas obtenu où je reçois erreur." –

+0

ceci est un commentaire –

Questions connexes