问题标签 [performselector]
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.
iphone - 如何在特定时间段后使用 performselector 让函数包含参数
我是这个 iPhone 应用程序编程的新手。我有一个具有一种参数类型作为结构指针的函数。如下所示
我想 performselector method
在 5 秒的时间间隔后调用这个函数。请告诉我如何使用调用上述响应函数performselector
提前致谢。
iphone - 将 NSOperation 子类化为并发和可取消
我找不到关于如何将子类化为NSOperation
并发以及支持取消的好的文档。我阅读了 Apple 文档,但找不到“官方”示例。
这是我的源代码:
在我找到的示例中,我不明白为什么使用 performSelectorOnMainThread:。它会阻止我的操作同时运行。
此外,当我注释掉该行时,我的操作会同时运行。但是,isCancelled
即使我调用了cancelAllOperations
.
multithreading - 比较 GCD 与 performSelectorInBackground:dispatch_async 不在后台
Grand Central Dispatch 很棒,可以减少代码量,但为什么我不能在后台线程上运行一些东西?
我制作了一个示例应用程序来说明我的意思(没有评论工作):
这[NSThread sleepForTimeInterval:3];
是模拟一个默认的 UI 功能。例如,如果有人从一个导航视图切换到另一个。
只需在新的基于视图的应用程序中复制代码,创建两个按钮并将它们连接起来。
objective-c - performSelector 的返回值:
performSelector 的返回值是什么:如果我传递一个返回原始类型(在对象上)的选择器,例如 NSDateComponents 上的“星期”(它将返回一个 int)?
iphone - MBProgressHUD 和 performselector 问题 - iphone
我将以下代码写入 MBProgressHUD:
在loadWorkbench方法中,我编写了如下代码:
[self performSelector:@selector(CallPrivateKwikis) withObject:nil afterDelay:0.1];
但从这里CallPrivateKwikis永远不会被调用。我找不到问题。
你们中的任何人都可以帮忙吗?
提前致谢。
iphone - Performselector - 参数 2 从整数生成指针而不进行强制转换
我有这个代码:
对这个方法:
把它放在它的位置:
返回“1”的 NSLog,我的方法没有将其归类为与 PasscodeAnimationTypeConfirm 相同的值。我怎样才能解决这个问题?
ios - 如何在 Objective-C 和 Swift 中等待
我想UILabel
在 2 秒后更改我的文本。
我尝试将我UILabel
的文本设置为"A text",然后使用sleep(2)
并最终将文本更改为"Another text"。
但sleep(2)
只会冻结应用程序并设置“另一个文本”而不显示“A 文本” 2 秒。
如何显示“A text” 2 秒,然后显示“Another text”?
iphone - 如何尽快调用方法,但最早在下一次运行循环迭代中调用?
我需要一种保存方式说:“iOS,我希望这个方法尽快执行,但不要在本次运行循环迭代中。最早在下一次,但请不要在本次中。谢谢。”
现在我总是这样做:
假设-doSomeOtherThings
将始终执行 BEFORE
-doSomethingInNextRunLoop
。
文档说:
指定延迟为 0 不一定会导致选择器立即执行。选择器仍在线程的运行循环中排队并尽快执行。
所以基本上它可能会立即调用该方法,就好像我刚刚发送了一条直接消息,导致-doSomethingInNextRunLoop
之前执行-doSomeOtherThings
?
我怎样才能绝对确定它会被尽快调用,但永远不会在同一个运行循环迭代中调用?
为了澄清措辞:对于运行循环,我指的是主线程,以及所有方法必须返回的迭代,直到线程再次为新事件做好准备。
objective-c - 在目标c中执行selectoronmainthread的最佳方法?
我正在为 iPhone 编写一个客户端-服务器应用程序。我有一个关于线程的问题。当我从设备访问我的在线数据库时,我需要在单独的线程上执行此操作,以免冻结 UI/主线程。但是当响应我从数据库中获取的数据时,我在主线程上调用这个方法:performSelectorOnMainThread。问题是这只让我向方法(WithObject)发送一个参数/对象,有时我有更多的参数想要传递。另一件事是我必须通过这个对象。如果我让应用程序崩溃,我不能通过 nil。
这是我今天的代码.. 我担心我使用的方法和线程错误的方式。
这是这样做的好方法吗,除了 performSelectorOnMainThread 之外还有什么你可以指出的,效果更好吗?
如您所见,我在此示例中将 nil 传递给 NSString 参数,因为我必须传递一些东西,如果我没有 NSString 作为方法中的 arg,则应用程序在传递 nil 时崩溃 evan。这是为什么? .请让我更清楚一点!
//谢谢!
objective-c - NSOperation 子类中的 performSelector
我在网上的其他任何地方都找不到答案,因此我们将不胜感激。
我打算创建一个系统,以便我可以检索 NSOperation 任务的结果,据我所知,这不能通过具体的子类(例如 NSInvocation)来完成。
我有一个 NSOperation 子类(TheEngine),它按约定是抽象的,必须扩展以实现该功能-main
,以包含要执行的代码主体。
TheEngine包含以下初始化函数,其工作只是注意theSelector
和theObject
选择器所属。它还为该属性注册了一个 KV 观察者isFinished
:
在我的observeValueForKeyPath:ofObject:change:context:
函数中,我想像这样调用回调函数:
整个过程是这样的:
aViewController启动了TheEngine的扩展 - 让我们说TheTask通过调用以下内容并将其添加到操作队列中。
一切似乎都按预期运行,没有任何错误或异常。但是当执行到达observeValueForKeyPath:ofObject:change:context:
回调时,实际上并没有调用回调。我是 Obj-C 的新手,所以我不完全确定我对这种类型的线程的理解是否正确。
这是整个代码:
任何帮助表示赞赏!