2010-02-20 5 views
1

상황 TTTableViewController를 TTListDatasource (TTModel)로 채 웁니다. 내 didSelectObject 메서드는 TTViewController를 엽니 다.Three20 : 다음 ViewController에서 모델에 액세스하는 방법?

질문에 대한 답변 : 더 많은 정보를 TTViewController에 표시하고 싶습니다.

1. 질문 : 데이터 소스를 넘겨주고 (새 쿼리를 실행해야합니까?) 특정 VO (모든 정보 포함)를 넘겨야합니까?

2. 질문 : 새로운 TTViewController의 데이터 소스에 어떻게 액세스합니까?

덕분에, 당신의 TTTableViewController의 didSelectRowAtIndexPath에서

답변

0

: 정의, 해당 개체에 대한 참조를 잡아 당신의 TTListDatasource를 사용합니다. 그런 다음 TTViewController에 전달하십시오. 이것은 TTViewController의 속성을 사용하는 것이 가장 좋으므로 유지/해제에 대해 걱정할 필요가 없습니다.

@property (nonatomic, retain) TTModel *model; 

다음 didSelectRowAtIndexPath에서

:

TTModel *model = //get the correct model 
TTViewController *vc = [[TTViewController alloc] initHoweverYouWant]; 
vc.model = mode; 

몇 가지 팁 : 당신이 (제대로) 클래스를 접두어로하고 있기 때문에 TTViewController은 정말 설명이 소리가 나지 않는다. 어쩌면 TTPhotoViewController 또는 뭔가 더 많은 설명이있을 수 있습니다. 항상 자세한 정보쪽에 오류가 있습니다.

또한 UITableViewController 하위 클래스가 별도의 개체를 만드는 대신 UITableViewDataSource 프로토콜을 구현하는 것이 매우 유용하다는 것을 알았습니다. 정확히 동일한 데이터 소스가 다른 곳에서 사용되지 않는 한 매우 유용합니다. 똑같은 이유. 핵심 데이터를 사용하는 경우 NSFetchedResultsController와 함께 더 잘 작동합니다.

관련 문제