我有一个像这样初始化的课程。
// myclass.h
@property(nonatomic,retain) NSMutableArray *daysOfWeek; // this is in .h file
// myclass.m
@synthesize daysOfWeek;
-(id)init {
if(self=[super init]) {
// initialize days of week
self.daysOfWeek = [NSMutableArray arrayWithCapacity:0];
}
return self;
}
然而,在应用程序生命周期的后期,似乎daysOfWeek被释放了。如果我在init方法中添加retain:
self.daysOfWeek = [[NSMutableArray arrayWithCapacity:0] retain];
然后一切都按预期工作,我可以从daysOfWeek添加和检索对象。 我认为合成将保留daysOfWeek,我在这里缺少什么?
谢谢
答案 0 :(得分:3)
问题出在其他地方。您原来的init
没问题。