2014-08-28 2 views
0

objective-c에서 개체를 전송할 수 있습니까?Objective-C의 클래스에 개체를 캐스팅하는 방법

예를 들어, 그 목적이 있고 클래스로 캐스팅 할 :

NSManagedObject *item = [array objectAtIndex:indexPath.row]; 
+0

그리고 그게 무슨 문제입니까? – trojanfoe

+0

이 객체를 클래스로 캐스팅하려고합니다. – mowi

+0

use (className *) 너무 단순합니다. – Mohit

답변

5

생각 엔 당신이 이런 식으로 원하는 :

if ([[[array objectAtIndex:indexPath.row] isKindOfClass:[NSManagedObject class]]) 
{ 
    NSManagedObject *item = (NSManagedObject *)[array objectAtIndex:indexPath.row]; 
} 

먼저 this link을보고 Auto Generating Model Files에서 저자 변경 방법을 확인하십시오 NSManagedObject 강력한 형식의 객체.

은 그래서 당신을 위해 남아있을 것입니다 것은 : 도움이

if ([[[array objectAtIndex:indexPath.row] isKindOfClass:[Contact class]]) 
{ 
    Contact *item = (Contact *)[array objectAtIndex:indexPath.row]; 
} 

희망!

+0

또한 캐스팅 대신 강력한 형식의 개체를 사용할 수 있습니다. 액세스 할 때마다 캐스트를 저장합니다. – NeverHopeless

+0

객체를 클래스로 캐스팅하려고합니다. 연락처로 호출했습니다. – mowi

1

예를 간단하게 할

NSManagedObject *item = (NSManagedObject *)[array objectAtIndex:indexPath.row]; 
+0

NSManagedObject는 내 클래스의 이름입니까? – mowi

+0

예 클래스의 이름 쓰기 – Mohit

+0

클래스를 지정하지 않았기 때문에 자동으로 올바른 가정 인 'NSManagedObject *'로 캐스팅하려고한다고 가정했습니다. 하지만 네 계급 이름이 거기에 갈 것이다. – Popeye

관련 문제