所以我正在编写一个 iPhone 应用程序,其唯一目的是从未来某个日期开始倒计时。这是一个静态应用程序,将是手机上唯一使用的非标准应用程序,将始终是唯一运行的应用程序,并且手机将不断充电(实际上只是放在展示柜中)。如您所见,该应用程序本身非常简单。我唯一担心的是随着时间的推移堆栈会溢出。这是代码中唯一真正做某事的部分
- (void)updateTimeRemaining {
self.dateComponents = [self.calendar components:NSYearCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit
fromDate:[NSDate date]
toDate:endDate options:0];
[self.yearsRemaining setText:[NSString stringWithFormat:@"%d", self.dateComponents.year]];
[self.daysRemaining setText:[NSString stringWithFormat:@"%d", self.dateComponents.day]];
[self.secsRemaining setText:[NSString stringWithFormat:@"%d", self.dateComponents.second]];
[self performSelector:@selector(updateTimeRemaining) withObject:self afterDelay:1.0];
}
每周都会保留所有内容,除了永远不会更改的日历(尽管这无关紧要,因为应用程序中没有任何其他视图)。我想这更多的是关于 iOS 垃圾收集的问题。是等待一个不存在的返回值,还是在执行完成后丢弃不需要的方法?