0

割り当てられたオブジェクトがあり、その属性は次のメモリの場所に保存されます。 メモリの状態

NSDate属性を変数に単純に帰属させると、 EXEC_BAD_ACESS. 最初の画像からわかるように、日付属性とfileDate変数のみが異なるアドレスを持っています。

EXEC_BAD_ACCESS

ポインター関連のエラーが発生していますか? 他の 2 つの属性は変数に正しく割り当てられていNSDateますNSDate

編集1

DownloadFile意味: ダウンロードファイル

EDIT2

初期化機能: ここに画像の説明を入力

EDIT3 日付パラメーター:

日にち

4

1 に答える 1

3

ARC を使用していない理由はありますか? そこにはかなりの数のメモリ管理エラーがあり、リークを引き起こし、クラッシュを引き起こすはずです。

NSDate *dateFromString = [dateFormatter dateFromString:receivedDate];

autoreleased を返すNSDateので、追加を呼び出すと

[dateFromString autorelease];

あなたは過度にリリースしているNSDateため、クラッシュします。


[pFile setDate:[[NSDate alloc] init]];

メモリリークです。セッターを通過すると、その日付に +1 保持setDate:が発生pFileし、それは で解放されdeallocます。この[[NSDate alloc] init]呼び出しは +1 を含む日付オブジェクトを返しますが、他の場所で解放されることはありません。

これは次のいずれかで修正できます

[NSDate date]

または

[[[NSDate alloc] init] autorelease];

最初のオプションが優先されます

于 2013-02-12T11:41:51.030 に答える