如何在 Objective-C 中将对象转换为类? [已关闭]

问题描述 投票:0回答:2

有没有办法在 Objective-C 中投射对象?

例如,我有一个来自数组的对象:

[array objectAtIndex:indexPath.row];

并想将其放入像

NSManagedObject
这样的类中:

NSManagedObject *item = ...
ios objective-c
2个回答
17
投票

我猜你想要这样:

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]; 
}

希望有帮助!


2
投票

是的,只需这样做

NSManagedObject *item = (NSManagedObject *)[array objectAtIndex:indexPath.row];  
© www.soinside.com 2019 - 2024. All rights reserved.