代码之家  ›  专栏  ›  技术社区  ›  karim

我怎么修复这个记忆漏洞

  •  1
  • karim  · 技术社区  · 14 年前

    如果我在这里发布决斗日期,我的代码的另一个地方就会出现严重的过剩。我在这里做错什么了? 发票是此处的核心日期对象/实体。

    NSDate *deliveryDate = [NSDate dateWithTimeIntervalSinceNow: - oneDayInSeconds * 7];
    NSDate *dueDate = [[NSDate date] initWithTimeInterval:(NSTimeInterval) (oneDayInSeconds * 3) sinceDate:deliveryDate]; 
    [invoice setDueDate:dueDate];  
    //[dueDate release];
    
    3 回复  |  直到 14 年前
        1
  •  9
  •   nschum Solin    14 年前

    使用

    [NSDate alloc]
    

    而不是

    [NSDate date]
    
        2
  •  2
  •   David    14 年前

    变化 [NSDate date] [NSDate alloc] .

        3
  •  0
  •   Thomas Clayson    14 年前

    如前所述,将[nsdate]更改为[nsdate alloc]。

    如果你是“初始化”,你也需要“分配”。

    或者,您可以这样做:

    NSDate *dueDate = [NSDate dateWithTimeInterval:sinceDate:]

    甚至:

    NSDate *dueDate = [NSDate date]; dueDate = [NSDate dateWithTimeInterval:sinceDate:]

    等…:)