objective-c - 获取属性值时的 EXC_BAD_ACCESS
问题描述
下面的代码导致EXC_BAD_ACCESS
尝试获取在运行时获取的对象的属性值
objc_property_t *properties = class_copyPropertyList(myClass, &count);
for (int i = 0; i < count ; i++) {
NSString *propertyName = [NSString stringWithCString:property_getName(properties[i]) encoding:NSUTF8StringEncoding];
if ([object respondsToSelector:NSSelectorFromString(propertyName)]) {
id value = [object valueForKey:propertyName];
}
}
有什么要防范valueForKey
的建议EXC_BAD_ACCESS
吗?
解决方案
推荐阅读
- excel - 当我的 Google Drive 中的 excel 文件被覆盖时触发一个函数
- python - Python乘法,指数产生不同的精度
- postgresql - 在 ubuntu 19.10 上安装 postgresql
- html - 如何创建响应视频播放器 | 视频js | HLS 视频
- python - Python修改函数内部的全局变量
- pandas - 将列标题转换为索引
- python - python.exe - FastCGI 进程意外退出
- git - git同一个项目,两个单独的repos - 如何合并在一起
- c# - 是否可以务实地设置输出类型?或者如何添加 PropertyGroup 条件?
- python - FileNotFound Exception 在 Python 中以 wb 模式打开文件