问题标签 [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 投票
2 回答
782 浏览

objective-c - 为什么用我的 performSelector 警告

下面是一个简单的 PerformSelector,它向 obj 发送消息以执行循环方法。一切正常,但我收到以下黄色警告。

PerformSelector 可能会导致泄漏,因为它的选择器是未知的。

这个警告没有意义,因为 performSelector 必须知道 mySel 因为循环方法确实被调用 - 有什么想法吗?


更新

我的类.h

我的班级.m

0 投票
0 回答
2902 浏览

iphone - cancelPreviousPerformRequestsWithTarget

cancelPreviousPerformRequestsWithTarget 对我不起作用,我检查了每个人都说它工作正常,但对我来说不是

我在 performselector 中调用以下内容

现在我想在它触发之前单击按钮取消它所以我做了以下

但结果还是一样

任何帮助将不胜感激

0 投票
1 回答
498 浏览

ios - 使用 performSelectorInBackground 时内存泄漏

我是 iOS 开发的新手。我在运行后台线程时遇到问题。在我的代码中,resetUi 在主 UI 线程上运行,现在我正在启动一个后台线程来获取图像数据并更新我的图像。一切正常,但调用 performSelectorInBackground 时内存泄漏。

请让我知道我在哪里做错了。另外请建议在从 URL(dataWithContentsOfURL)获取时是否有更好的方法来更新我的图像。

[更新]

仪器显示 2 个单独的泄漏,一个在 perfromSelectorInBackground,另一个在 UIImage imageWithData。我猜 imageupdate(imageWithData) 出了点问题

0 投票
2 回答
1178 浏览

ios - 如何正确地多线程?UIAlertView 不显示,只有灰屏

我已经在我的项目中实现了 textToSpeech 并希望在说出文本时显示警报视图。这里我调用 textToSpeech 的方法:

这里的 synthesizeInBackground 方法(in 方法 synthesize 启动 TTS):

虽然 TTS 我想显示一个带有cancel按钮的 alertView。但在我的情况下,我只得到一个没有 alertView 的灰屏。

如何正确调用 alertWhileTTS,以便显示 alertView?

这里是 alertWhileTTS 的内容:

更新查看我的解决方案,该解决方案有效:

0 投票
3 回答
157 浏览

iphone - 如何使用执行选择器选择随机方法?

在我的应用程序中,我performSelector用来调用方法。我的应用程序中有三种不同的方法,我希望随机分配这三种方法中的一种来执行选择器。这是我的代码。

这是我的三个方法..

现在我想每次随机分配一种方法给选择器。谁能指导我如何做到这一点。

0 投票
4 回答
290 浏览

iphone - withObject:self 和 withObject:nil 的使用区别

我一直想知道以下代码行

  1. 以上两行代码有什么区别。
  2. 我们什么时候应该将object设置为nil,什么时候应该将object设置为self

在大多数情况下,我注意到要设置为的对象nil

0 投票
1 回答
327 浏览

iphone - self performSelector:@selector(loadData) withObject:nil - 不工作

我使用: self performSelector:@selector(loadData) withObject:nil ... 看起来只在“loadData”中使用某些命令,但其余的不是。

这是我的viewdidload:

这是加载数据:

它只给我打印 2 行,但没有将我的数据加载到表中,但是如果我从“loadData”内部复制所有代码并过去在“viewDidLoad”中,它将数据加载到表中。

请提供任何建议或帮助。

0 投票
1 回答
162 浏览

ios - ios开发中的某个布尔值是否有performSelector

我正在使用 CoreLocation,并且我想调用一个方法来在它们被分配有效值或更新这些值之后对纬度和经度进行一些计算。

你如何实现这一点?我正在考虑使用 performSelector,但这些方法需要时间延迟——我不想要时间延迟,我想知道纬度和经度首先有有效值。

0 投票
4 回答
263 浏览

iphone - 如何保证线程同步

我有一个myButtonAction执行一些繁重计算的方法,我需要在后台线程上运行它,同时我正在加载一个在主线程中指示“任务进度”的视图。一旦后台线程完成执行该方法,我需要删除“任务进度”视图并在主线程中加载另一个视图。

我面临的问题是,在myButtonAction完成执行之前,LoadView完成了它的执行。如何确保仅在完成LoadView执行后才开始执行。myButtonAction

注意:myButtonAction在另一个类中有它的方法定义。

0 投票
2 回答
5160 浏览

objective-c - performSelector:withObject: 及其保留行为

这是 SO 中已经回答的问题,但我在 Apple 文档中的任何地方都找不到它。你能指出我正确的方向吗?

在以下主题中

在将对象传递给 -performSelector:withObject:afterDelay: 之前是否必须保留它?

performSelector:withObject:afterDelay:inModes 对保留计数的影响

调用 performSelector:withObject:afterDelay 的对象是否被 NSRunLoop 保留?

默认行为似乎如下:它保留接收者和参数

我正在使用以下代码

userData自动释放的对象在哪里。

记录保留计数(我知道这样做可能无效)传入的数据会增加其保留计数。在委托上调用该方法时,保留计数不等于 1。

所以,我的问题是:我需要执行一些内存管理以避免泄漏还是我必须信任 Apple 的东西?在这里,我以不可知论者的身份发言,因为我找不到合适的文档。

先感谢您。