여기를 빨리 따라 할 것입니다. MailCore API를 사용하여 전자 메일에 연결하고 메시지를 배열로 다운로드 한 다음 해당 메시지를 배열로 가져 와서 테이블보기로 표시합니다. 기본적으로배열에서 모든 객체를 표시 하시겠습니까?
messageSet = [inbox messagesFromUID:1 to:0 withFetchAttributes:CTFetchAttrEnvelope];
,이 서버에서 모든 메시지를 다운로드합니다 내가하여 확인할 수 있습니다 : 여기
서버의 떨어져 모든 메시지를 다운로드합니다 (공식 MailCore 웹 사이트에서 검색) 코드입니다 배열의 내용을 NSLog로보고하면 모든 메시지가 나타납니다. 그래서 다시CTCoreMessage *msg = [messageSet objectAtIndex:0];
BOOL isHTML;
isHTML = YES;
messages = [[NSMutableArray alloc] init];
sendernames = [[NSMutableArray alloc] init];
[messages addObject:[msg bodyPreferringPlainText:&isHTML]];
NSString *sender = [NSString stringWithFormat:@"%@", [msg sender]];
[sendernames addObject:sender];
[tableView reloadData];
, 이것은 인덱스 0에 메시지를 소요 처음이다 :
여기이제 첫 번째 메시지 (인덱스 0)를 타고 내 메시지 배열이 추가됩니다 코드입니다 메시지를 찾아 메시지 배열에 추가합니다. 또한 보낸 사람 이름을 가져오고 보낸 사람 배열에 추가하는 코드는 무시합니다. 여기
내 cellForRowAtIndexPath 방법의 코드 (I 셀 내 요소를 설정하고 값 단지 클리핑)입니다 :cell.nameText.text = [sendernames objectAtIndex:0];
cell.messageText.text = [messages objectAtIndex:0];
당신이 볼 수 있듯이, 그것은 인덱스 0 객체를 표시의 첫 번째 메시지, 이전에 추가 한 메시지입니다.
마지막으로, 내가 가진 행 수를 설정하는 코드는 다음과 같습니다. 모든 메시지를 다운로드하는 messagesSet 배열을 기반으로합니다.
1.) 모든 배열에 다운로드 된 개체 만이 아니라 첫 번째를 추가
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [messageSet count];
}
내 문제는 내가이 일을 내 코드를 수정하는 방법입니다. 2. 메시지 배열의 모든 개체를 표시하도록 cellForRowAtIndexPath 코드를 수정하십시오.
미리 감사드립니다. indexPath를 :
정말 고마워요. 모든 메시지를 처리 할 필요가 없습니다. 그것은 효과가있다! MailCore에 관한 더 이상 질문하지 않겠습니까?:-) – ranjha
당신은 확실히 할 수 있지만 적시의 응답을 약속 할 수는 없습니다. 나는 절대적으로 할 일이 없을 때만 계속합니다. –
하하! 고마워, 나는 그걸 명심 할거야! – ranjha