2014-07-10 5 views
0

PubNub를 사용하는 IOS 메시징 응용 프로그램에서 작업 중입니다. PNMessage 개체의 목록을 PubNub의 history() API 요청을 사용하여 배열 (channelMessageHistory)에 전달하고 있습니다. 이러한 객체는 나중에 사용할 수 있도록 로컬 스토리지 배열로 전달되며 TableView 셀에 메시지 텍스트를 표시하는 것을 포함합니다.PNMessage 객체의 NSMutableArray에서 메시지 텍스트 요청

unrecognized selector sent to instance 0x10a644680 

: 논의

내가 수신하고 오류로 PNMessages의 배열은 다음과 같다 - channelMessageHistory :

cell.textLabel.text = [[[[Globals sharedInstance] channelMessageHistory] objectAtIndex:indexPath.row] message]; 

참고 : 나는 고민하고 코드의 유일한 라인은 다음과 같다 문제는 배열 (channelMessageHistory)에 포함 된 각 PNMessage 객체에 대해 message.message를 사용하여 각 객체에서 실제 '텍스트'메시지를 요청해야한다는 것입니다.

다음은 message.message 사용의 좋은 예입니다.

PNMessage *message; 
NSString messageText = message.message; 

도움을 주시면 감사하겠습니다.

감사합니다.

+0

인식 할 수없는 선택기에 대한 완전하고 정확한 오류 메시지를 표시하십시오. 세부 사항이 중요합니다. – rmaddy

+0

History API가 NSArray 인스턴스를 반환합니다. '-addObject :'를 호출하지 말고'channelMessageHistory'에 적용시켜 주시겠습니까? –

답변

1

이런 종류의 오류가 표시되면 먼저 유형을 확인해야합니다.

if([[[Global sharedInstance] channelMessageHistory] isKindOfClass:[NSArray class]]) 
{ 
    // correct? 
} 

if([[[[Global sharedInstance] channelMessageHistory] objectAtIndex:indexPath.row] isKindOfClass:[PNMessage class]]) 
{ 
    // correct? 
}