问题标签 [cfrunloop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
713 浏览

c++ - 将即时任务添加到“CFRunLoop”的最简单方法?

从 C/C++ 程序向 a 添加即时一次性任务的最简单方法是什么CFRunLoop,即在再次阻塞之前必须由运行循环调用的回调。

根据文档,我们有CFRunLoopPerformBlock(),但问题在于它使用了需要 Objective-C 编译模式的块表示法。

是否有类似于CFRunLoopPerformBlock()C/C++ 程序可用的东西,还是我被迫使用零延迟计时器?

0 投票
2 回答
1160 浏览

objective-c - 需要 CFRunLoopRun() 但希望它解除阻塞

我在 OSX 的可可应用程序中有以下代码:

此代码会收到有关文件系统更改的通知并做出相应的反应(回调函数不在代码段中)。

我现在的问题是 CFRunLoopRun() 阻塞。即代码的进一步执行停止。但是,我正在寻找一种可能性,即我可以开始观察文件系统更改,但也可以再次停止它(例如,从另一个对象)。

我想到的一个选择是只启动循环一秒钟,然后检查全局变量。但是,我通常不喜欢全局变量......

这里有没有人有一个很好的方便的想法,如何解决这个问题?购买开销并将执行放入单独的线程中是否是个好主意?

提前致谢!诺伯特

0 投票
1 回答
370 浏览

swift - 在 swift 2 中使用 UnsafeMutablePointer 和 CFRunLoopObserverContext

我有以下代码

由于某些原因,linez = pGraphsModel.memory总是给我一个EXC_BAD_ACCESS. 我不确定UnsafeMutablePointer在检索存储值时是否正确使用。任何想法表示赞赏!

PS。这发生在 XCode 7 beta5 上。

0 投票
0 回答
1907 浏览

ios - 一个非常有趣的异常类型崩溃日志:“EXC_CRASH (SIGSEGV)”

  首先,去符号化的崩溃日志位于底部。出于隐私原因,我不能发布所有内容。但是我认为前 3 个线程日志就足够了,如果您真的想要,请留言。

  这就是事情,这取决于这篇文章Understanding iOS Exception Types | 5Neo.Be5Neo.Be,马赫异常类型——EXC_CRASH——通常不跟随 C 信号SIGSEGV(这意味着访问你不拥有的地址)。

  所以我想知道EXC_CRASH (SIGSEGV)会出现什么原因或什么时候出现?

  第二个问题是,如果日志中说,这次崩溃实际上是由线程 0 触发的。如果是真的,那是什么

“__NSThreadPerformPerform”

“__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__”

方法?

  系统在做什么?顺便说一句,当 App 根据这个答案调用“performSelector:”方法时, __NSThreadPerformPerform会出现 - iphone - CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION上的 SIGABRT 崩溃- 堆栈内存溢出

谢谢。

-- 崩溃日志在这里: --

0 投票
0 回答
80 浏览

cocoa - 可可运行循环中的“轮询”是什么意思?

Apple 的实现CFRunloop,在函数中__CFRunLoopRun他们定义了一个名为的本地变量pool

然后他们像这样使用这个值:

在这种情况下是什么poll意思?为什么poll在runloop流程中是一个特例?

0 投票
1 回答
124 浏览

ios - CFRunLoopSource 中的 CFRunLoopScheduleCallBack 函数的作用是什么?

我正在尝试为 定义自定义输入源CFRunLoop,我已经阅读了 Apple 编写的线程编程指南文档,这个问题是我唯一无法理解的问题。

那么,我想知道CFRunLoopScheduleCallBack函数的目的是什么或者如何实现这个函数?

0 投票
1 回答
216 浏览

ios - 设置 UIImageView 图像后多次调用 CFRunLoopRun

Profiler 显示 CFRunLoopRun 在 20 秒内被调用超过 1000 次,占 85%,而我所做的只是滚动。UITableView 滚动似乎滞后,我不知道是什么导致了问题并专门调用 CFRunLoopRun。我有一个带有自定义单元格的 UITableView,它显示图像和一些标签。图像是在后台线程上加载的 dispatch_async(dispatch_get_global_queue,..) 所以我认为这不是造成它的原因。imageView 有圆角和边框,标签也有圆角和背景色。我很抱歉这么不具体,但有人遇到过类似的事情吗?

编辑1:

又看了一遍,发现CA Render、Layout、ImageProvider占据了大部分。这是调用树的图片 在此处输入图像描述

编辑2:

我发现设置 imageView 图像会调用上面的方法。如果我在设置图像的地方注释这一行代码,一切正常。我现在的问题是:为什么这么慢?我读过一些评论,我必须先在后台压缩图像,所以 UIImageView 不必在主线程上完成这项工作,但我想不出一个好的解决方案

0 投票
2 回答
978 浏览

swift - Swift CFRunLoopTimerCreate - 如何在计时器回调中获取“自我”

在给定以下代码的情况下,如何访问类“self”实例以调用类实例方法。如果我尝试 self.callSomeClassIntance(),如图所示,我会从编译器收到“无法从捕获上下文的闭包形成 AC 函数指针”错误。我尝试 info.callSomeClassInstance(),但这会给出“无成员 callSomeClassInstance”错误。如果删除了一行代码 xxxx.callSomeClassIntance(),代码将正确触发时间。

0 投票
1 回答
1083 浏览

swift - 在 Swift 中使用 IOPSNotificationCreateRunLoopSource 创建一个 CFRunLoopSourceRef

我正在尝试订阅 macOS 上的电源状态更改。我发现有一种使用 IOKit 的方法,虽然它有点复杂。我需要#import <IOKit/ps/IOPowerSources.h>在 ObjC Bridging 标头中使用它来导入它。然后我可以访问函数 IOPSNotificationCreateRunLoopSource,它具有以下签名:

我从Callback method to Apple run loop的答案中得到了一些帮助,但仍然无法IOPowerSourceCallbackType在 Swift 中创建类型函数。这个编译缺少什么?

0 投票
1 回答
722 浏览

ios - 嵌套 CATransaction 的行为?

下面的代码将backgroundColorcommit.

但是使用嵌套显式CATransactions,仅在最外层事务提交时才更新屏幕。

所以这很奇怪,因为我们知道 runloop 会在每个循环中创建一个最外层的隐式事务。为什么在提交implicit transaction时这不被视为最外层事务?explicit transaction