1

initWithTimeInterval:sinceDate:私がのように呼び出すとき

NSDate * newDate = [date initWithTimeInterval:-7*24*60*60 sinceDate:date];

メモリリークが発生します。次のように修正すると:

NSDate * newDate = [[NSDate alloc] initWithTimeInterval:-7*24*60*60 sinceDate:date];

メモリリークは発生していないと思います。私の質問は、なぜ前者の説明がメモリ リークを引き起こすのかということです。それは強力な参照を保持していますか?または参照カウントを変更しますか?

4

1 に答える 1

0

もっとコードを見せてもらえますか? 最初の例でどのように日付を初期化しますか? initWithTimeInterval:sinceDate:はコンストラクターであるため、既にデータを初期化している場合はinit...、この変数に対してメソッドを再度呼び出してはなりません。

于 2013-02-28T09:07:19.047 に答える