问题标签 [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.
ios - iOS:在用户交互/滚动时执行操作
我试图让我的应用程序在延迟后执行一个操作,但必须在用户与UIScrollView
.
我不确定为什么两者都不会performSelector:withObject:afterDelay
或scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
不会开火。是因为他们在后台线程上吗?
有什么建议或帮助吗?
ipad - performSelector:withObject:afterDelay: 不在模态视图控制器上工作
我有一个模式视图控制器出现,检查 Internet 上的服务,然后在完成后自行关闭。笔尖包含一个活动指示器和一个标签,用于通知用户正在发生的事情。
更新完成后,标签变为“更新完成”,然后关闭视图控制器。但是,我希望它将关闭延迟几秒钟,让用户有机会在文本消失之前看到它。所以我这样做了:
但是由于某种原因,选择器永远不会被调用。我也尝试过在模式下运行它NSRunLoopCommonModes
,但这也不起作用。
我一定是做错了什么,但我看不到是什么...
编辑:委托回调实际上发生在 中NSOperationQueue
,这可能意味着它在将消息发送回视图控制器时不在同一个线程上?所以我尝试了
其次是
但是 performSelector 似乎也没有在这里工作。
iphone - 下载文件时立即更新 ULabel
我正在使用 NSURLConnection 下载文件。我的视图中有一个 UILabel,它必须显示当前下载的文件。UILabel 在开始和结束时都会更新。假设我正在下载 10 个文件。我可以在开始下载之前和完成下载之后设置标签文本。
我可以理解,我试图调用的方法没有在主线程中运行,
所以我用下面的代码让它在主线程中运行,
方法是
这似乎也不起作用。我在这里做错什么了吗?
谁能告诉我如何立即更新标签?
ios - iOS 中的 performSelector 有什么用
performSelector的作用是什么?
比较:
和
两者都对我来说很好。这两者有什么区别。[self btnClicked]
和[self performSelector:@selector(btnClicked)]
;
objective-c - performSelector: 方法出现无法识别的选择器错误
我打电话
[delegate addText:button.titleLabel.text withSelector:@selector(addElement:) fromKeyboard:self.name]
对应于
但是,当我在 tempData 上调用执行选择器方法时,出现错误。当我用 (addElement:) 替换 selectorName 时,它工作正常。
objective-c - UIKit 中是否有内置事件处理的基/实用程序类?
我正在寻找一个具有类似于 UIButton 工作方式的“事件列表”的类,您可以在其中添加多个目标和选择器。
编写一个很容易,但如果 Apple 已经提供了解决方案,我宁愿使用它也不愿维护更多代码。
笔记:
这是一个非可视类,所以我真的不想使用任何 UI 特定的东西。
编辑:
我最终使用堆叠的 NSDictionary 实例滚动了我自己的基本事件调度程序类型类。
ios - UIBarButtonItem:针对目标操作调用与 performSelector:withObject: 对帧的处理方式不同:
我有一个 UIBarButtonItem *按钮。这个想法是用户按下按钮,然后弹出一个窗口。这是在按钮的目标/动作中声明的(即点击按钮调用
其中发送者是 UIBarButtonItem。
在showMyWindow:方法中,弹窗的绘制需要发送者的框架。现在, UIBarButtonItem 通常不允许您访问它的框架。作为一个 hack,我将发送者转换为 UIView,然后访问这个 UIView 的框架。我不认为这会起作用,但令人惊讶的是,它会起作用。
但是,我也想在别处调用 showMyWindow: 方法。所以我有这行代码:
在这里,我的应用程序崩溃了。我已经准确地指出了这个问题:
关键是:当我使用 target-action 调用该方法时,我可以以某种方式执行此强制转换+访问框架,但当我使用 performSelector:withObject 时不能:
为什么有区别?为什么这种演员可以在一种情况下进行,而不能在另一种情况下进行?
谢谢。
ios - 从主线程调用的方法中调用方法
我已经从 appDelegate 调用了一个类方法,如下所示:
此方法调用其他方法:
从 RankingAndSMProcess 中的 DoRankingAndSocialMediaProcessing 方法中调用的所有方法都必须以与后台线程上的 DoRankingAndSocialMediaProcessing 相同的方式调用吗?或者这里还有另一个潜在的问题?
目前我认为没有任何处理方法被解雇,因为没有收集新数据。
在添加更改调用以在后台执行之前,所有方法和整个过程都按预期工作。
objective-c - 在未知类型的类中调用静态方法
我有一个有趣的问题,我试图在一个类上调用类方法,而我在测试方法中基本上一无所知。我可以检查它的继承和它可能实现的任何协议,但看不到一种简单的方法来调用它的方法而不被 NSInvocation 束缚。下面的代码虽然很粗略,但试图证明我遇到的问题。
获取实现的方法似乎返回实例变体,我无法让它们在静态类本身上触发。
我的选择仅限于调用还是我错过了一些明显的东西并且应该踢自己?
预先感谢您的帮助。
xcode - 使用 performSelector 执行的方法中的 objc_retain 崩溃
我在我的代码中遇到了与 ARC 自动插入 objc_retains 相关的奇怪崩溃。
我有以下两个课程:
在某些时候,我这样实例化一个 MenuItem:
performAction
然后在其他地方我在菜单项上调用:
在执行中someMethod
我遇到了崩溃:
为什么会这样?