DoK*_*DoK 7 objective-c dynamic-typing
我想在Objective C中动态转换并访问实例属性.这里有一个伪代码:
id obj;
if (condition1)
obj = (Class1*)[_fetchedResults objectAtIndex:indexPath.row];
else
obj = (Class2*)[_fetchedResults objectAtIndex:indexPath.row];
NSNumber *latitude = obj.latitude;
Run Code Online (Sandbox Code Playgroud)
然后编译器告诉我以下内容: 在'__strong id'类型的对象上找不到属性'latitude'
Class1和Class2都是核心数据实体,并且具有几乎相同类型的属性.在condition1中_fetchedResults返回Class1类型的对象,在condition2中_fetchedResults返回Class2类型的对象.
有人能给我一个如何解决这类问题的提示吗?
谢谢!
您可以通过键值编码(KVC)访问属性:
[obj valueForKey:@"latitude"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9979 次 |
| 最近记录: |