0
- (id)initWithCoder:(NSCoder *)aDecoder
{
   dueDate = [NSDate date];

}

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
    [formatter setDateStyle:NSDateFormatterShortStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    self.lbDueDate.text = [formatter stringFromDate:dueDate];
}

init メソッドで dueDate = [NSDate date] を宣言しました。しかし、デバッグすると、この行で

    self.lbDueDate.text = [formatter stringFromDate:dueDate];

出力: (NSDate *) dueDate = 0x0c497390

4

1 に答える 1

0

これは、オブジェクトが-dealloc編集されたことを意味します (そうでない場合nil)。そのため、Zombies で実行し、より頻繁にメッセージを送信してください。静的アナライザーを実行してコードを確認した後です。

ソースの 1 つの問題:dueDate = [NSDate date];する必要がありますdueDate = [[NSDate date] copy];。もう 1 つの問題は、の実装でスーパークラスの指定された初期化子を介して呼び出さないことです-initWithCoder:

于 2013-02-24T09:16:03.973 に答える