Iphone TableView-从详细信息视图返回时iVar重置
有人知道我需要做什么来保留TableView iVars,同时将详细信息视图推到导航堆栈上吗 我有一个数组和一个定义为iVars的日期,数组被保留,而日期不被保留。我检查了是否有一个自动释放隐藏在某处,但没有明显的 这些性质定义为非原子,保留 我使用自定义的NSDate分类方法来确定各个阶段的特定日期。它们使用NSDATE组件、NSRange和NSCalendar,例如:Iphone TableView-从详细信息视图返回时iVar重置,iphone,objective-c,xcode,Iphone,Objective C,Xcode,有人知道我需要做什么来保留TableView iVars,同时将详细信息视图推到导航堆栈上吗 我有一个数组和一个定义为iVars的日期,数组被保留,而日期不被保留。我检查了是否有一个自动释放隐藏在某处,但没有明显的 这些性质定义为非原子,保留 我使用自定义的NSDate分类方法来确定各个阶段的特定日期。它们使用NSDATE组件、NSRange和NSCalendar,例如: - (NSDate *)lastDayOfMonth: { NSCalendar *tmpCal = [NSCalenda
- (NSDate *)lastDayOfMonth: {
NSCalendar *tmpCal = [NSCalendar currentCalendar];
NSDateComponents *tmpDateComponents = [tmpCal components:NSYearCalendarUnit | NSMonthCalendarUnit | NSEraCalendarUnit | NSWeekCalendarUnit | NSWeekdayOrdinalCalendarUnit fromDate:self];
NSRange tmpRange = [tmpCal rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[tmpCal dateFromComponents:tmpDateComponents]];
[tmpDateComponents setDay:tmpRange.length];
[tmpDateComponents setHour:23];
[tmpDateComponents setMinute:59];
[tmpDateComponents setSecond:59];
return [[NSCalendar currentCalendar] dateFromComponents:tmpDateComponents];
}
它们可能是原因吗?dateFromComponents:返回自动删除的NSDate 您的日期ivar应由设定者保留。你是这样声明的并使用setter吗
@property (nonatomic, retain) NSDate* myDate;
- 你是@合成日期访问器,还是自己编写?如果是您自己编写的setter,请确保它调用retain(有时我忘了这么做)
- 推送的视图控制器是否可以访问它,并意外释放它
如果我没有弄错的话,当返回到主例程时,子视图会释放参数,这就是日期丢失的原因。子视图调用中对象上的retain执行此任务。是,属性是这样声明的。我也在返回的日期调用了retain,但是一旦我从pushdetails视图返回,我就会遇到正在释放的对象。。。