我有很多关于 NSDate 对象被过早释放的问题。我怀疑这些问题可能与我处理从 NSDate 便捷方法返回的对象的方式有关。我认为我在 JKShow 类中的 showDate 属性声明应该是“保留”,但是将其更改为分配或复制似乎对问题没有影响。
JKShow *show;
NSDate *date;
NSMutableArray *list = [[NSMutableArray alloc] init];
// Show 1
show = [[JKShow alloc] init];
//...
date = [gregorian dateFromComponents:dateComponents];
show.showDate = date;
[list addObject:[show autorelease]];
// Show 2
show = [[JKShow alloc] init];
//...
date = [gregorian dateFromComponents:dateComponents];
show.showDate = date;
[list addObject:[show autorelease]];
更新
问题不在此处复制的代码中。在我的JKShow init
方法中,我没有保留从NSDate
便捷方法返回的日期。谢谢大家的帮助。