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 一起运行并更频繁地向它发送消息——在运行静态分析器并查看您的代码之后。

源中的一个问题:dueDate = [NSDate date];应该是dueDate = [[NSDate date] copy];. 另一个问题是您没有在-initWithCoder:.

于 2013-02-24T09:16:03.973 回答