有没有办法在 Objective-C 中投射对象?
例如,我有一个来自数组的对象:
[array objectAtIndex:indexPath.row];
并想将其放入像
NSManagedObject
这样的类中:
NSManagedObject *item = ...
我猜你想要这样:
if ([[[array objectAtIndex:indexPath.row] isKindOfClass:[NSManagedObject class]])
{
NSManagedObject *item = (NSManagedObject *)[array objectAtIndex:indexPath.row];
}
首先看一下这个链接,在
Auto Generating Model Files
下,看看作者如何将NSManagedObject
更改为强类型对象。
那么留给你的是:
if ([[[array objectAtIndex:indexPath.row] isKindOfClass:[Contact class]])
{
Contact *item = (Contact *)[array objectAtIndex:indexPath.row];
}
希望有帮助!
是的,只需这样做
NSManagedObject *item = (NSManagedObject *)[array objectAtIndex:indexPath.row];