objective-c – 在目标c中从id到class的动态类型转换

前端之家收集整理的这篇文章主要介绍了objective-c – 在目标c中从id到class的动态类型转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在Objective C中动态转换并访问实例属性.这里有一个伪代码: @H_502_2@id obj; if (condition1) obj = (Class1*)[_fetchedResults objectAtIndex:indexPath.row]; else obj = (Class2*)[_fetchedResults objectAtIndex:indexPath.row]; NSNumber *latitude = obj.latitude;

然后编译器告诉我以下内容
在’__strong id’类型的对象上找不到属性’latitude’

Class1和Class2都是核心数据实体,具有几乎相同的属性.在condition1中_fetchedResults返回Class1类型的对象,在condition2中_fetchedResults返回Class2类型的对象.

有人能给我一个如何解决这类问题的提示吗?

谢谢!

解决方法

您可以通过键值编码(KVC)访问属性: @H_502_2@[obj valueForKey:@"latitude"]

猜你在找的C&C++相关文章