0

여기에서 나로부터 how to next detailView like in Mail-App에 대한 다른 질문입니다. 저기, 배열로 해결하는 방법을 알고 싶었어요.coreData 인스턴스를 클릭/반복하는 방법

이제 coreData를 사용하고 있습니다. EntityAlphabet이라는 엔티티가 있습니다 (예 : 5 개의 속성). 속성은 중요하지 않습니다. DetailView에서이 엔티티를 반복하고 싶습니다. 어떻게 할 수 있습니까?

detailView에서 엔티티를 "전환"하고 싶습니다.

BTW : NSFetchedResultsController로 tableView를 채우고 있습니다.

답변

1

나는 똑같은 상황을 가지고 있으며 방금 manageViews 배열을 detailView에 전달했습니다. 그런 다음 위/아래 화살표를 사용하여 세부 뷰를 기준으로 배열에서 적절한 개체를 선택합니다. 그래서 당신이 제공 한 링크의 솔루션과 비슷할 것입니다. 당신의 didSelectRowForIndexPath에, 객체의 배열을 활용하려면 다음 방법의 라인을 따라 뭔가를 수행합니다

// Assumes your detail view controller has a an NSArray ivar and property setup 
detailViewController.alphabetObjects=[self.fetchedResultsController fetchedObjects]; 

이 솔루션은 확실히 낮은 기술 및 I 때문에 당시 지식의 나의 부족,의를 구현, 즉 2 여러 해 전에. 자, 나는 그것을 할 수있는 몇 가지 추가적인 방법을 생각할 수 있습니다.

  1. NSFetchedResultsController가 관리하는 tableView에 블록 호출을 사용합니다. 따라서 didSelectRowAtIndexPath 메소드를 사용하면 detailViewController에 기본적으로 indexPath를 사용하고 NSFetchedResultsController에서 새 managedObject를 반환하는 블록을 제공하게됩니다.
  2. tableViewController가 구현하는 프로토콜을 만듭니다. 프로토콜의 다양한 메소드를 통해 detailViewController UI를 업데이트 할 수있을뿐 아니라 새 객체를 요청할 수 있습니다. 즉, 그것이 managedObject 세트의 첫 번째 또는 마지막 객체인지 여부를 질의합니다.

희망이 도움이됩니다. 행운을 빕니다

+0

감사합니다. 그 소리는 내가하고 싶은대로 - 일시적으로 들립니다. 의정서를 위해 나는 지식이 충분하지 않고 이번 주에 많은 시간을 보지 못한다. coreData (EntityAlphabet)의 모든 데이터를 nasarray에 저장하는 방법을 알려주시겠습니까? – brush51

+0

님이 내 대답을 업데이트하여 질문에 답변했습니다. – timthetoolman

+0

나는 [self.fetchedResultsController fetchedObjects]로 이미 시도했다. NSLog에서 객체를 얻고 있지만 배열로 저장하는 중 ** detailViewController.abcArray = [self.fetchedResultsController fetchedObjects]; **는 ** 비어 있습니다 **. detailview에서 나는 ivar과 속성을 설정하고, 내 실수를 찾을 수 없습니다. 도와 주셔서 다시 한 번 감사드립니다. – brush51

0

비슷한 방식으로 NSFetchedResultsController를 사용할 수 있습니다. - (id)objectAtIndexPath:(NSIndexPath *)indexPath으로 전화 해보십시오. - (IBAction)nextRow:(id) sender에서 이미 사용중인 newIndexPath를 전달하십시오.