2011-02-09 16 views
1

サブビューに2つのラベルと2つのイメージビューを追加しています。メインビューにサブビューを追加中に "EXC_BAD_ACCESS"プログラム受信信号

ボタンをタップすると、メインビューにこのサブビューが追加されます。

ウェブサーバーからイメージを取得して、ローカルシミュレータのドキュメントに保存しています。

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]; 

このマイコード。

何度か私はProgram received signal: "EXC_BAD_ACCESS".を取得し、アプリケーションを終了します。

私はブレークポイントを配置することでチェックし、デバッガではどこにエラーが発生するのかわかりませんでした。

いずれかが私を助けてください、どのように私はこれを解決することができます。

ありがとうございます。

+0

コードがクラッシュする場所を知っていますか? –

+0

1. '[NSString stringWithFormat:@"%@%@ "、[myDictionary objectForKey:@" firstname "]、[myDictionary objectForKey @" secondname "]]'を使用してください。それはより効率的で、読み返して楽しいでしょう。 2.決して_sを変数名に入れないでください!その恐ろしい。 objectc変数名には、about_url_buttonの代わりに 'aboutUrlButton'を使うべきです。 –

+0

3. about_viewの作成場所を確認できますか?アプリ実行引数でNSZombieEnabledをYESに設定し、エラーが発生していないかどうかを確認してください。 –

答えて

2

NSZombieを使用してみてください...それはEXCBADACCESSが発生した場所を見つけるための簡単な方法です... それは...(そのすごいコンセプト私は楽器のように)オブジェクトが割り当て解除取得する場所とどのどの方法

を指定します

このリンクを表示 http://www.markj.net/iphone-memory-debug-nszombie/

-1

このコードを実行する前にブレークポイントを挿入してから、ステップを実行して不正なアクセスを引き起こしている行を見つけてください。おそらく、どこかにヌルまたはワイルドポインタがあります。

+0

彼は次のように書いています。「ブレークポイントを置くことでチェックし、デバッガではどこにエラーが発生するのかわかりませんでした。 –

+0

これはコメントです –

関連する問題