これは私が初めて何かを尋ねているので、あまりにも厳しくはありません:-)。私は奇妙な "悪いアクセス"の問題があります。私のクラスでは、他のメンバーと一緒にNSInteger
があります。NSIntegerを印刷するときに奇妙なBAD_ACCESS
- (NSString *)description {
return [NSString stringWithFormat:@"Duration:%d", duration];
}
をし、私は印刷に関係なくNSZombieEnabledの、いずれかのログメッセージなしで私にEXC_BAD_ACCESSを与えているNSLog(@"%@", myObject)
を使用して:私は(unrelevant一部を省略)ので、同じようにすべての値を印刷する- (NSString *)description
メソッドをオーバーライドします。
- すべての書式指定子の順序と、 パラメータの順序を二重にチェックしました。正しいです。
- 私は
%i
と%@
に書式指定を変更しようとした私は、オブジェクトを初期化するとき、私は 期間を初期化していない任意の結果 - を取得できませんでした。後で、プロパティ
@property NSInteger duration
を使用して割り当てます。だから私はinit
の方法で0に継続時間を初期化しようとしましたが、役に立たないです。 - 印刷前のNSNumberまでのIボックスの期間は、動作します。
- 期間を削除して、すべての のイールズを残すと、再び動作します。
ここで私は間違っていますか? 私を助けることができますか?
ありがとうございます!
EDIT:要約すると、これは32ビットと64ビットのプラットフォームの違いに起因すると思われます.iphone 4で動作し、シミュレータで実行されているときだけ問題があるためです。私は%qi
を使用し、%ld
/%lx
を使用して、%d
と%i
をNSInteger変数と一緒に使ってみました。また、さまざまな書式指定子でint
とlong
にキャストしようとしました。私は、デバイス上で実行することができますが、シミュレータでEXC_BAD_ACCESSを得るたびに。
あなたのメソッドにbrakpointを設定し、あなたの "duration"値を読んで、私がそこにいるときに設定されていないと思う... –
NSLogでブレークポイントを設定しました - myObjectは有効で、そこに...ありがとうとにかくマルコ! – Lubo
少しコードを投稿してください – Novarg