草庐IT

NStimer、CADisplayLink、dispatch_source_t

全部标签

ios - 无效时 NSTimer 在 Iphone 上因 EXC_BAD_ACCESS 而崩溃

我在我的应用程序中设置了两个计时器,它们都每隔几秒重复一次。一切正常,除了何时使计时器无效。当手机锁定时,我想使这些计时器失效,然后在手机解锁时重新创建它们。我使用通知来了解何时使计时器无效/创建计时器。[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(notify_didBecomeActive:)name:UIApplicationDidBecomeActiveNotificationobject:nil];[[NSNotificationCenterdefaultCenter]addObs

objective-c - 分派(dispatch)到主队列总是失败

我正在尝试通过iOS上的GCD将一些代码分派(dispatch)到主队列,但即使是最简单的测试也总是失败。最后归结为:staticconstintTICK_INTERVAL=1;#pragmaUIApplicationDelegateimplementation-(void)doTick{if(![NSThreadisMainThread]){NSLog(@"Tryingtodispatch...");dispatch_sync(dispatch_get_main_queue(),^{NSLog(@"test...");});}}-(void)startUpdate{dispatch_

ios - NSTimer 内存泄漏(CFArray?)

在测试我的应用程序是否存在内存泄漏时,我发现每当我以间隔启动NSTimer时,它都会显示CFArray(store-deque)和CFArray(可变变量)的大小不断增加。在我的实际应用程序中,Malloc16和Malloc32等的大小与CFArray一起增加。问题:如何阻止这种“泄漏”?代码:.h@interfaceViewController:UIViewController{NSTimer*timerClock;inttimer;}@end代码:.m-(void)viewDidLoad{[superviewDidLoad];timer=0;timerClock=[NSTimers

ios - 如何停止 NSTimer?

我有一个NSTimer,当我离开vViewVontroller时我想停止它:计时器位于我从viewWillAppear调用的方法中:-(void)myMehtod{//timer=[[NSTimeralloc]init];//appeldelamethodechaque10secondes.timer=[NSTimerscheduledTimerWithTimeInterval:10.0ftarget:selfselector:@selector(AnotherMethod)userInfo:nilrepeats:YES];//self.timerUsed=timer;}我在viewW

test mock-03-wiremock 模拟 HTTP 服务的开源工具 flexible and open source API mocking

拓展阅读test之jmockit-01-overviewjmockit-01-test之jmockit入门使用案例mockito-01-overviewmockito简介及入门使用PowerMockMockServerChaosBlade-01-测试混沌工程平台整体介绍jvm-sandbox入门简介wiremockWireMock是一个流行的开源工具,用于API模拟测试,每月下载量超过500万次。它可以帮助您创建稳定的测试和开发环境,隔离与不稳定的第三方服务的依赖,并模拟尚不存在的API。WireMock于2011年由TomAkehurst作为Java库启动,现在已经涵盖多种编程语言和技术栈。

ios - EXC_BAD_ACCESS 在 dispatch_async 中使用 "freed"self 时

我有一个使用iOS7中新的SpriteKit编写的游戏。我有一个自定义的SKSpriteNode,它可以获取并显示Facebook个人资料图片。但是,由于加载图片可能需要一些时间。我尝试在初始化节点时在后台加载图片,并仅在加载图片时显示它。这是我写的代码片段:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{//CodetoloadFacebookProfilepicture//...SKSpriteNode*fbFrame=[SKSpriteNodespriteNodeWithT

ios - dispatch_after 会阻塞主线程吗?

我正在设置一个计时器,以便在一秒钟后为我的键盘扩展重置一个值。问题是我觉得下面的调用正在拖延我的UI:dispatch_after(dispatch_time(DISPATCH_TIME_NOW,1*NSEC_PER_SEC),dispatch_get_main_queue(),^{[selfresetDoubleTapBool];})有没有一种异步的方式来做到这一点,或者一般来说更好的方式?谢谢! 最佳答案 dispatch_after()调用本身不会阻塞。在指定的时间(或之后不久),block将被提交到主队列。提交它不会阻塞主线

ios - 什么 iOS 版本支持 NSTimer 有效属性?

我注意到最奇怪的事情。我正在玩NSTimer并在浏览Appledocumentation时,我已经到达了valid属性here,并注意到此属性自iOS8起可用。这个事实本身并不奇怪,但4-6年前关于NSTimer的大量stackoverflow帖子都提到了此属性或建议使用它这一事实让我明白了困惑:Example1,example2,example3和许多其他。所以我的问题分为2个:哪些iOS版本真正支持NSTimervalid属性?如果我的目标是iOS7及更高版本,使用此属性是否安全?提前致谢。 最佳答案 Apple文档针对Swif

cocoa-touch - 双核 iPad (A5) = Grand Central Dispatch?

iPhoneSDK是否支持GrandCentralDispatch,使我们能够利用新iPadCPU的多核优势? 最佳答案 是的,从iOS4.0开始,iOS就支持GCD。普通线程API(pthread和NSThread)从iOS2.0开始可用 关于cocoa-touch-双核iPad(A5)=GrandCentralDispatch?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

ios - NSTimer Category + Blocks 替换选择器的实现

我对block和Objective-C很陌生,我正在尝试使用两者来编写我的第一个类别。我的想法是在NSTimer上创建一个类别,它将接收一个block作为参数,这个block将用于选择器调用。现在我有这个。//NSTimer+Additions.h#importtypedefvoid(^VoidBlock)();@interfaceNSTimer(NSTimer_Additions)+(NSTimer*)scheduleTimerWithTimeInterval:(NSTimeInterval)theSecondsrepeats:(BOOL)repeatsactions:(VoidBl