EXC_BAD_ACCESS 访问通知中的 NSDate 对象
我有一个 NSTimer 以预定的时间间隔 1 运行。这里我不断跟踪当前时间,如下所示。
- (void)myMethod:(NSTimer*)timer {
NSDate *startDate = [[[NSDate alloc] init] autorelease];
}
在某些通知中,我试图找出时间更改之前和之后之间的差异。
-(void) handleNotification: (NSNotification*) notification
{
NSTimeInterval elapsedTimeInterval = [startDate timeIntervalSinceNow];
}
我在这里得到EXC_BAD_ACCESS
。
如果我使用 startDate = [[NSDate date] keep];
不会崩溃,不知道在哪里释放 startDate
因为我在 dealloc< 上使这个计时器无效/代码>。
注意:不能使用属性,因为需要支持10.4。
问候,
阿克巴
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一种方法是释放以前的值并分配新值。
1 像这样分配值,
2 像往常一样检索值,
3最后释放它在dealloc方法中。
One way is to release the previous value and assign the new one.
1 Assign the value like this,
2 Retrieve the value as usual,
3 Finally release it in dealloc method.
更好的方法是根本不创建任何 NSDate 对象:
A better way is to not create any NSDate object at all: