如何在类中声明NSDAte并通过类对象分配值(iphone开发)

时间:2011-07-23 12:46:49

标签: iphone objective-c nsdate

我有与nsdate声明相关的问题。

NSDate *sortDate;
@property(nonatomic,retain) NSDate *sortDate;
@synthesize sortDate;
sortDate=[NSDate date];

我在我的类中使用上面的过程分配了NSdate字段。我成功地将值赋给我的NSDATE(sortarray)。当我使用此消息检索其值的应用程序时,我已成功。

“释放malloc双重释放/未对齐指针在malloc_error_break中设置断点以进行调试”

给出多余的错误错误。有时候显示,

当我从我的类中删除NSDATE字段.App运行成功。

宣言有什么不妥吗?

任何解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您获得的日期实例是自动释放的,不属于您。如果您直接分配到ivar,您必须拥有所有权,例如:

sortDate = [[NSDate date] retain];

通常使用声明的属性会更好,它会为您处理:

self.sortDate = [NSDate date];

不要忘记放弃对dealloc的所有权,例如:

self.sortDate = nil;

请参阅Cocoa memory management rulesdeclared properties documentation