質問

免責事項:私はOBJ-CとiOS(5、ARCが有効になっている)を非常に初めて使用しています。

NSURLConnectionDelegateメソッドの以下の実装は、IF内のNSLOGコールでEXC_BAD_ACCESSを作成します。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

    NSLog(@"Response %@", response );
    if([response isKindOfClass:[NSHTTPURLResponse class]])
    {
        NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*) response;
        NSLog(@"HTTP status code %@", [httpResponse statusCode]);
    }
}

私が知る限り、EXC_BAD_ACCESSは、主に割り当ての問題、間違ったキャスティング、およびメモリ管理が悪いために引き起こされます。それはここには当てはまりません(私は願っています)。

よろしくお願いします、クリス

解決: :OG文字列のフォーマットにおけるNOOBIEエラー。 2番目のnslogを次のように変更します。

NSLog(@"HTTP status code %i", [httpResponse statusCode]);
役に立ちましたか?

解決

statusCode andを返します NSInteger (a long または int)、anへのポインターではありません NSObject 実例。

フォーマット仕様 %@ に使用されます NSObjects引数。問題は、から返される整数値が statusCode オブジェクトへのポインターとして解釈/渡され、実行時までにオブジェクトへのポインターとしてメッセージを送信または扱われます。オブジェクト引数が介して印刷されている場合 %@ ロガーはオブジェクトの結果を使用します -[NSObject description].

コンパイラ警告を上げて、それが生成する問題を修正することにより、将来この問題を回避できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top