【发布时间】:2018-01-31 14:29:08
【问题描述】:
我从推送通知中获取了一些键和值。然后我想检查键是否是对象的属性,因此我可以相应地映射对象。但我希望能够使用小写键并且对象属性是驼峰式的。
所以问题是如何在 Swift 4 中实现一个不区分大小写的 NSObject 版本:
self.responds(to: Selector(value))
【问题讨论】:
-
你尝试过覆盖
responds(to:)吗? -
选择器区分大小写。
allUsers与allusers不同,因此您询问是否可以通过询问选择器 B 来检查对象是否响应选择器 A。您可以使用 Objective C 运行时进行此检查,但您不应该这样做,并且这并不容易,也不值得。 -
您可以将字典键转换为驼峰式。尽管您可能需要一些高级启发式方法才能使其正确。或者,您可以将推送通知中的键映射到它们的驼峰式变体。
-
你可以像stackoverflow.com/a/24845527/5329717这样枚举属性并结合Caleb的方法