gpt4 book ai didi

ios - 获取一个类的所有键

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:11 25 4
gpt4 key购买 nike

最近我使用函数 func setValue(_ value: AnyObject?, forKey key: String)NSKeyValueCoding以下列方式更改 UIPickerDate 的文本颜色的协议(protocol):

class ColoredDatePicker: UIDatePicker {

var changed = false

override func addSubview(view: UIView) {
if !changed {
changed = true
self.setValue(UIColor(red: 0.42, green: 0.42, blue: 0.42, alpha: 1), forKey: "textColor")

}
super.addSubview(view)
}
}

关于这个question中的答案.效果很好。

但我的答案是:

我如何知道类提供的名称,如上面使用的 textColor

我试图在文档中找到任何获取所有名称的内容,但到目前为止,我还没有找到任何获取类提供的 keys 的内容,如上述情况。

最佳答案

objective-c 运行时为属性提供了这种类型的反射:

id UIDatePickerClass = objc_getClass("UIDatePicker");
unsigned int outCount, i;
objc_property_t *properties = class_copyPropertyList(UIDatePickerClass, &outCount);
for (i = 0; i < outCount; i++) {
objc_property_t property = properties[i];
fprintf(stdout, "%s %s\n", property_getName(property), property_getAttributes(property));
}

引用文档:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ObjCRuntimeRef/index.html#//apple_ref/c/func/class_copyPropertyList

编辑 - swift 也有基本反射:https://stackoverflow.com/a/24069875/1385467

关于ios - 获取一个类的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com