首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTimer的错误

NSTimer的错误
EN

Stack Overflow用户
提问于 2010-08-14 10:29:35
回答 1查看 190关注 0票数 0

我在iphone应用程序中添加了一个NSTimer。当我运行应用程序时,它失败了。我跟踪了它,发现它在“0x3050c3ad <+0013> call 0x306aeaa5”处停止,并且不能在调试器中继续。

如果你知道,请告诉我应用程序出了什么问题以及如何解决它。

谢谢!

代码是:

代码语言:javascript
复制
NSTimer *m_heartBeatTimer;

@property(nonatomic, retain) NSTimer *m_heartBeatTimer;

@synthesize m_heartBeatTimer;


-(void)HeartBeatTimer:(NSTimer *)timer
{

  [csocket CloseSocket];

}

case PING:
        {
            [self SendDataToServer:"00" Type:PONG];

            if(m_heartBeatTimer != nil)
                [m_heartBeatTimer invalidate];
            m_heartBeatTimer = [NSTimer scheduledTimerWithTimeInterval:6.0 target:self selector:@selector(HeartBeatTimer:) userInfo:nil 
                                                               repeats:NO];


        } break;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-14 11:42:51

lqf,

首先,您应该通过self.m_heartBeatTimer访问计时器,因为您在@property声明中声明了它是保留的。如果不使用self.前缀,则不会使用设置器,因此不会保留在@property声明中指定的计时器。

我不知道你的模糊错误消息是什么,但我猜它与内存有关。请确保使用self.前缀,并让我知道这是否有效。如果你在运行控制台上确实有EXC_BAD_ACCESS输出的错误消息,请更新你的帖子,这样人们就可以使用它了。

-Rob

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3481776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档