我有与nsdate声明相关的问题。
NSDate *sortDate;
@property(nonatomic,retain) NSDate *sortDate;
@synthesize sortDate;
sortDate=[NSDate date];
我在我的类中使用上面的过程分配了NSdate字段。我成功地将值赋给我的NSDATE(sortarray)。当我使用此消息检索其值的应用程序时,我已成功。
“释放malloc双重释放/未对齐指针在malloc_error_break中设置断点以进行调试”
给出多余的错误错误。有时候显示,
当我从我的类中删除NSDATE字段.App运行成功。
宣言有什么不妥吗?
任何解决方案。
提前致谢。
答案 0 :(得分:2)
您获得的日期实例是自动释放的,不属于您。如果您直接分配到ivar,您必须拥有所有权,例如:
sortDate = [[NSDate date] retain];
通常使用声明的属性会更好,它会为您处理:
self.sortDate = [NSDate date];
不要忘记放弃对dealloc的所有权,例如:
self.sortDate = nil;
请参阅Cocoa memory management rules和declared properties documentation。