问题标签 [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.

0 投票
1 回答
592 浏览

iphone - 如何在特定时间段后使用 performselector 让函数包含参数

我是这个 iPhone 应用程序编程的新手。我有一个具有一种参数类型作为结构指针的函数。如下所示

我想 performselector method在 5 秒的时间间隔后调用这个函数。请告诉我如何使用调用上述响应函数performselector

提前致谢。

0 投票
6 回答
47736 浏览

iphone - 将 NSOperation 子类化为并发和可取消

我找不到关于如何将子类化为NSOperation并发以及支持取消的好的文档。我阅读了 Apple 文档,但找不到“官方”示例。

这是我的源代码:

在我找到的示例中,我不明白为什么使用 performSelectorOnMainThread:。它会阻止我的操作同时运行。

此外,当我注释掉该行时,我的操作会同时运行。但是,isCancelled即使我调用了cancelAllOperations.

0 投票
1 回答
13241 浏览

multithreading - 比较 GCD 与 performSelectorInBackground:dispatch_async 不在后台

Grand Central Dispatch 很棒,可以减少代码量,但为什么我不能在后台线程上运行一些东西?
我制作了一个示例应用程序来说明我的意思(没有评论工作):

[NSThread sleepForTimeInterval:3];是模拟一个默认的 UI 功能。例如,如果有人从一个导航视图切换到另一个。
只需在新的基于视图的应用程序中复制代码,创建两个按钮并将它们连接起来。

0 投票
5 回答
20238 浏览

objective-c - performSelector 的返回值:

performSelector 的返回值是什么:如果我传递一个返回原始类型(在对象上)的选择器,例如 NSDateComponents 上的“星期”(它将返回一个 int)?

0 投票
2 回答
756 浏览

iphone - MBProgressHUD 和 performselector 问题 - iphone

我将以下代码写入 MBProgressHUD:

loadWorkbench方法中,我编写了如下代码:

[self performSelector:@selector(CallPrivateKwikis) withObject:nil afterDelay:0.1];

但从这里CallPrivateKwikis永远不会被调用。我找不到问题。

你们中的任何人都可以帮忙吗?

提前致谢。

0 投票
2 回答
662 浏览

iphone - Performselector - 参数 2 从整数生成指针而不进行强制转换

我有这个代码:

对这个方法:

把它放在它的位置:

返回“1”的 NSLog,我的方法没有将其归类为与 PasscodeAnimationTypeConfirm 相同的值。我怎样才能解决这个问题?

0 投票
8 回答
86420 浏览

ios - 如何在 Objective-C 和 Swift 中等待

我想UILabel在 2 秒后更改我的文本。

我尝试将我UILabel的文本设置为"A text",然后使用sleep(2)并最终将文本更改为"Another text"

sleep(2)只会冻结应用程序并设置“另一个文本”而不​​显示“A 文本” 2 秒。

如何显示“A text” 2 秒,然后显示“Another text”

0 投票
4 回答
3845 浏览

iphone - 如何尽快调用方法,但最早在下一次运行循环迭代中调用?

我需要一种保存方式说:“iOS,我希望这个方法尽快执行,但不要在本次运行循环迭代中。最早在下一次,但请不要在本次中。谢谢。”

现在我总是这样做:

假设-doSomeOtherThings将始终执行 BEFORE -doSomethingInNextRunLoop

文档说:

指定延迟为 0 不一定会导致选择器立即执行。选择器仍在线程的运行循环中排队并尽快执行。

所以基本上它可能会立即调用该方法,就好像我刚刚发送了一条直接消息,导致-doSomethingInNextRunLoop之前执行-doSomeOtherThings

我怎样才能绝对确定它会被尽快调用,但永远不会在同一个运行循环迭代中调用?

为了澄清措辞:对于运行循环,我指的是主线程,以及所有方法必须返回的迭代,直到线程再次为新事件做好准备。

0 投票
4 回答
19095 浏览

objective-c - 在目标c中执行selectoronmainthread的最佳方法?

我正在为 iPhone 编写一个客户端-服务器应用程序。我有一个关于线程的问题。当我从设备访问我的在线数据库时,我需要在单独的线程上执行此操作,以免冻结 UI/主线程。但是当响应我从数据库中获取的数据时,我在主线程上调用这个方法:performSelectorOnMainThread。问题是这只让我向方法(WithObject)发送一个参数/对象,有时我有更多的参数想要传递。另一件事是我必须通过这个对象。如果我让应用程序崩溃,我不能通过 nil。

这是我今天的代码.. 我担心我使用的方法和线程错误的方式。

这是这样做的好方法吗,除了 performSelectorOnMainThread 之外还有什么你可以指出的,效果更好吗?

如您所见,我在此示例中将 nil 传递给 NSString 参数,因为我必须传递一些东西,如果我没有 NSString 作为方法中的 arg,则应用程序在传递 nil 时崩溃 evan。这是为什么? .请让我更清楚一点!

//谢谢!

0 投票
2 回答
1232 浏览

objective-c - NSOperation 子类中的 performSelector

我在网上的其他任何地方都找不到答案,因此我们将不胜感激。

我打算创建一个系统,以便我可以检索 NSOperation 任务的结果,据我所知,这不能通过具体的子类(例如 NSInvocation)来完成。

我有一个 NSOperation 子类(TheEngine),它按约定是抽象的,必须扩展以实现该功能-main,以包含要执行的代码主体。

TheEngine包含以下初始化函数,其工作只是注意theSelectortheObject选择器所属。它还为该属性注册了一个 KV 观察者isFinished

在我的observeValueForKeyPath:ofObject:change:context:函数中,我想像这样调用回调函数:

整个过程是这样的:

aViewController启动了TheEngine的扩展 - 让我们说TheTask通过调用以下内容并将其添加到操作队列中。

一切似乎都按预期运行,没有任何错误或异常。但是当执行到达observeValueForKeyPath:ofObject:change:context:回调时,实际上并没有调用回调。我是 Obj-C 的新手,所以我不完全确定我对这种类型的线程的理解是否正确。

这是整个代码:

任何帮助表示赞赏!