【发布时间】:2008-11-01 17:48:26
【问题描述】:
我在 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 便捷方法返回的日期。谢谢大家的帮助。
【问题讨论】:
标签: cocoa nsdate autorelease convenience-methods