2011-03-31 1 views
2

커스텀 NSObject 클래스를 가지고 있고, People을 호출 할 수 있고 RMMarker라는 CloudMade RMMarker.h의 클래스를 사용할 수 있습니다. RMMarker 클래스에는 NSObject 인 data라는 속성이 있습니다. 나는이 작업을 수행하여 데이터를 설정 알고NSObject 속성에서 커스텀 NSObject 읽기하기

People *aPeople = [[People alloc] init]; 
marker.data = aPeople; 

가 어떻게 데이터에 저장된 데이터를 읽을 수 있습니까? 내가 아는 전부는 그렇지 않다.

People *aPeople = [[People alloc] init]; 
aPeople = marker.data; 

올바른 방법은 무엇입니까?

감사 필립

답변

3

당신이 marker.data 유형 People *의 것을 알고, 당신은 단순히 올바른 유형으로 캐스팅 할 수 있기 때문에 :

marker.data 실제로 경우이 만 제대로 작동합니다
People *aPeople = (People *)marker.data; 

People * 오브젝트 (또는 서브 클래스 중 하나). 확실히, 당신은 추가 할 수 있습니다 assertion test : NSAssert()의 사용에 관한 중요한 자세한 내용은

People *aPeople = (People *)marker.data; 
NSAssert([aPeople isKindOfClass:[People class]], "oops! Wrong type!"); 

은 참조하시기 바랍니다 : What are assertions or NSAssert good for in practice?

0

을 나는 데이터 바르 그냥 유지됩니다 RMMarker 소스에서 볼 수있는에서 당신의 사람들은 반대합니다. 따라서 나중에 People 객체를 참조하려는 경우 :

+0

매력처럼 작동합니다. 빠른 응답 주셔서 감사합니다! – plaetzchen