问题标签 [respondstoselector]
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 - 如何将第二个控制器中的文本字段(嵌入在表格单元格中)的字符串传递回第一个控制器中的标签(也嵌入在表格单元格中)?
编辑1:我想我已经找到了问题,我只是无法解决它。在定义 textFieldShouldReturn 的 SecondViewController.m 中,“if ([self.delegate respondsToSelector:@selector(passString:)])”返回 false,因为没有触发 NSLog。
编辑 2:检查谁是两个 ViewController 中的委托人的 NSLogs 可以很好地了解问题。在 FirstViewController 中,prepareForSegue 分配了正确的委托。在转到 SecondViewController 之后,委托变为“null”。
这是我一周来一直试图实现的目标,但没有成功。我明白我需要使用委托将数据传回两层导航堆栈。但是,我不确定为什么我的代码不起作用(字符串没有通过)。
如果有人能告诉我(链接和其他资源)如何正确地制作表单/提交视图(第二个控制器)以用于数据输入,可以重复用于编辑显示视图(第一个控制器)中的特定单元格标签,我将不胜感激)。
这是我的代码:
SecondViewController.h
第二视图控制器.m
第一视图控制器.h
第一视图控制器.m
请检查我的代表路径和电话,看看我所做的是否合适。非常感谢!
ios - respondsToSelector 在 UIButton 上为“setTitle:”返回 YES,但没有这样的选择器
我正在使用respondsToSelector:
,并且大部分时间都可以正常工作。但是有一种情况我得到了错误的结果:
respondsToSelector:
setTitle:
返回 YES 但UIButton 类中没有选择器。有setTitle:forState:
选择器,但这绝对不一样。
那么为什么respondsToSelector:
返回YES呢?
ios - 如何在运行时检查对象是否具有某些特定的 PUBLIC 选择器?
我需要找出某个特定对象是否有某些特定选择器,以及我是否可以调用它。我需要在运行时检查它。我知道respondsToSelector:
但不幸的是它也检查类的受保护接口。
我需要检查选择器是否存在以及它是否是公开的。有办法我可以做到吗?
objective-c - 在 Swift 中为 PubNub 4.0 建立回调以接收消息
在我看来,PubNub 的 Swift 入门文档不适用于 PubNub 4.0 之前的版本。我无法成功建立回调以注册 PubNub。
我的代码:
深入研究 PubNub 源代码,这似乎是有问题的区域:
我对 Swift 和与 Objective C 的集成还比较陌生。我很好奇是否存在问题,respondsToSelector
因为 Objective C 代码正在引用 Swift 代码。
消息肯定会通过;PubNub 库中还有另一个较低级别的函数,用于记录收到的所有消息。
任何帮助将非常感激。
ios - 为什么delegate.respondsToSelector (Selector ("testEnum:")) 这段代码会在swift语言中返回false?
前几天我是从Objective-C写Swift语言的,在项目中遇到了一个问题。这个问题是在使用respondsToSelector("testEnum:")函数检查是否实现了testEnum:,if的函数时param是这样,它会返回false,我试过其他类型,它会返回true,不知道是什么原因,看下面的代码,帮我解决一下,非常感谢!
ios - 在respondsToSelector 检查后doesNotRecognizeSelector 错误
简短描述:doesNotRecognizeSelector
在对肯定具有此方法的对象调用方法时出现错误,并且在调用respondsToSelector
.
这是一个非常奇怪的情况,我不明白它是怎么回事:)。我在一些用户设备的日志中看到了这个错误,但不是在所有设备上。我无法在自己的设备上重复此操作。
我试图弄清楚它是如何发生的,并增加了条件,respondsToSelector
但问题又发生了。
下面的一些代码。希望能帮助到你
1)我viewController
反对AppDelegate
。
2)在其他类中,我试图获取此对象并调用其方法之一。但随叫随到,一切都因错误而[viewController showBanner]
失败。doesNotRecognizeSelector
3)AdRootViewController
有这个方法,它在接口中声明。
失败的代码字符串是[viewController showBanner]
.
错误日志如下所示:
swift - 在 Swift3 中,combine responds#to 并一举调用?
例如,
有没有类似..的概念
“???” 意思是“如果它对蓝色有反应,就叫蓝色”......
注意 - 我非常感谢我可以编写一个扩展名callIfResponds:to
,或一个特定的扩展名,blueIfBlueable
。
我想知道这里是否有一些本地的 swiftyness,我不知道。这似乎是一个非常基本的概念。
脚注:
在随后的激烈讨论中,提到了使用协议。只是为了任何阅读的人的利益,这里是使用协议的一种方法:
例如,要使用它...
回到最初的问题,一切都很好。但是您不能“拾取”isHidden
现有类中的现有属性(一个简单的例子是 )。
此外,只要我们正在讨论它,请注意,在该示例协议扩展中,不幸的是,您不能自动拥有协议或扩展,因为它是从协议或扩展“内部”调用 unblueAllSiblings 的,原因正是:为什么你做不到
ios - App Store 禁止 performSelector 和 respondsToSelector 吗?
我的最新版本已被 Apple 应用商店接受,但几天后我收到了下面引用的通知。
我的应用程序也使用 Rollout.io,我明确询问这是否是问题所在。还没有回应。
如果 respondsToSelector 或 performSelector 被禁止了,有没有替代品?
亲爱的开发者,
您的应用程序、扩展程序和/或链接框架似乎包含明确设计的代码,能够在应用程序审查批准后更改您的应用程序的行为或功能,这不符合 Apple 开发人员计划许可协议和应用程序的第 3.3.2 节商店审查指南 2.5.2。与最初为 App Store 审核时相比,此代码与远程资源相结合,可以促进对应用行为的重大更改。虽然您目前可能没有使用此功能,但它有可能加载私有框架、私有方法并启用未来的功能更改。
这包括任何将任意参数传递给动态方法的代码,例如 dlopen()、dlsym() 、responsToSelector:、 performSelector :、method_exchangeImplementations(),以及运行远程脚本以根据内容更改应用程序行为或调用 SPI下载的脚本。即使远程资源不是故意恶意的,它也很容易被中间人 (MiTM) 攻击劫持,这可能会给应用程序的用户带来严重的安全漏洞。
请对您的应用进行深入审查,并删除任何符合上述功能的代码、框架或 SDK,然后再提交下一个更新供您的应用进行审查。
编辑:苹果论坛提到这一点:https ://forums.developer.apple.com/thread/73640
swift - Swift 中不区分大小写的“响应选择器”
我从推送通知中获得了一些键和值。然后我想检查键是否是对象的属性,因此我可以相应地映射对象。但我希望能够使用小写键并且对象属性是驼峰式的。
所以问题是如何在 Swift 4 中实现一个不区分大小写的 NSObject 版本:
objective-c - 在扩展中实现未处理的协议方法
我正在尝试在我的 Cordova 插件中实现一些推送通知方法。Cordova 创建了他们自己的 UIApplicationDelegate,称为 CDVAppDelegate,所以我尝试扩展它并使用 swizzling 添加我的方法。
但是,当我实现一个在 CDVAppDelegate 中未实现的可选协议方法并使用 swizzling 使其可用时,不会调用此新方法。如果我破解 CDVAppDelegate 代码来实现这个方法,新方法就会被调用。
以下是一些代码片段 - 希望这将有助于澄清情况:
在 CDVAppDelegate.h
在 CDVAppDelegate.m
在我的“扩展 CDVAppDelegate {...}”中
如何在不修改 CDVAppDelegate.m 的情况下使其正常工作?