1

我从推送通知中获得了一些键和值。然后我想检查键是否是对象的属性,因此我可以相应地映射对象。但我希望能够使用小写键并且对象属性是驼峰式的。

所以问题是如何在 Swift 4 中实现一个不区分大小写的 NSObject 版本:

self.responds(to: Selector(value))
4

1 回答 1

0

但我希望能够使用小写键并且对象属性是驼峰式的。

这里的问题是当您从驼峰式转换为小写时会丢失信息,因此您不能轻易地转换到另一个方向。

您需要构建一个将键映射到选择器的字典。尽管 Swift 有一些有限的自省功能,但手动创建字典可能是最简单的,并且只包含您希望参与此过程的那些属性:

let properties : [String] = ["firstName", "lastName", "address", "zipCode"]
var map = [String:String]()
properties {
    map[$0.lowercased()] = $0
}

现在您可以使用map来查找给定键的属性名称。

于 2018-01-31T15:44:12.197 回答