问题标签 [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.
c++ - 将即时任务添加到“CFRunLoop”的最简单方法?
从 C/C++ 程序向 a 添加即时一次性任务的最简单方法是什么CFRunLoop
,即在再次阻塞之前必须由运行循环调用的回调。
根据文档,我们有CFRunLoopPerformBlock()
,但问题在于它使用了需要 Objective-C 编译模式的块表示法。
是否有类似于CFRunLoopPerformBlock()
C/C++ 程序可用的东西,还是我被迫使用零延迟计时器?
objective-c - 需要 CFRunLoopRun() 但希望它解除阻塞
我在 OSX 的可可应用程序中有以下代码:
此代码会收到有关文件系统更改的通知并做出相应的反应(回调函数不在代码段中)。
我现在的问题是 CFRunLoopRun() 阻塞。即代码的进一步执行停止。但是,我正在寻找一种可能性,即我可以开始观察文件系统更改,但也可以再次停止它(例如,从另一个对象)。
我想到的一个选择是只启动循环一秒钟,然后检查全局变量。但是,我通常不喜欢全局变量......
这里有没有人有一个很好的方便的想法,如何解决这个问题?购买开销并将执行放入单独的线程中是否是个好主意?
提前致谢!诺伯特
swift - 在 swift 2 中使用 UnsafeMutablePointer 和 CFRunLoopObserverContext
我有以下代码
由于某些原因,linez = pGraphsModel.memory
总是给我一个EXC_BAD_ACCESS
. 我不确定UnsafeMutablePointer
在检索存储值时是否正确使用。任何想法表示赞赏!
PS。这发生在 XCode 7 beta5 上。
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 崩溃- 堆栈内存溢出。
谢谢。
-- 崩溃日志在这里: --
cocoa - 可可运行循环中的“轮询”是什么意思?
在Apple 的实现中CFRunloop
,在函数中__CFRunLoopRun
他们定义了一个名为的本地变量pool
:
然后他们像这样使用这个值:
在这种情况下是什么poll
意思?为什么poll
在runloop流程中是一个特例?
ios - CFRunLoopSource 中的 CFRunLoopScheduleCallBack 函数的作用是什么?
我正在尝试为 定义自定义输入源CFRunLoop
,我已经阅读了 Apple 编写的线程编程指南文档,这个问题是我唯一无法理解的问题。
那么,我想知道CFRunLoopScheduleCallBack
函数的目的是什么或者如何实现这个函数?
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 不必在主线程上完成这项工作,但我想不出一个好的解决方案
swift - Swift CFRunLoopTimerCreate - 如何在计时器回调中获取“自我”
在给定以下代码的情况下,如何访问类“self”实例以调用类实例方法。如果我尝试 self.callSomeClassIntance(),如图所示,我会从编译器收到“无法从捕获上下文的闭包形成 AC 函数指针”错误。我尝试 info.callSomeClassInstance(),但这会给出“无成员 callSomeClassInstance”错误。如果删除了一行代码 xxxx.callSomeClassIntance(),代码将正确触发时间。
swift - 在 Swift 中使用 IOPSNotificationCreateRunLoopSource 创建一个 CFRunLoopSourceRef
我正在尝试订阅 macOS 上的电源状态更改。我发现有一种使用 IOKit 的方法,虽然它有点复杂。我需要#import <IOKit/ps/IOPowerSources.h>
在 ObjC Bridging 标头中使用它来导入它。然后我可以访问函数 IOPSNotificationCreateRunLoopSource,它具有以下签名:
我从Callback method to Apple run loop的答案中得到了一些帮助,但仍然无法IOPowerSourceCallbackType
在 Swift 中创建类型函数。这个编译缺少什么?
ios - 嵌套 CATransaction 的行为?
下面的代码将backgroundColor
在commit
.
但是使用嵌套显式CATransactions
,仅在最外层事务提交时才更新屏幕。
所以这很奇怪,因为我们知道 runloop 会在每个循环中创建一个最外层的隐式事务。为什么在提交implicit transaction
时这不被视为最外层事务?explicit transaction