Три20 прохождение объекта - PullRequest
2 голосов
/ 13 июля 2011

Я хотел бы знать, что после передачи объекта из представления в представление с URL-адресом, как передать его модели, чтобы я мог использовать его для веб-службы и заполнить источник данных.

Использование Three20 (:Спасибо.

1 Ответ

4 голосов
/ 15 июля 2011

Скопировано из: http://three20.info/article/2010-10-06-URL-Based-Navigation

Автор оригинала: Джефф Веркоейен

Один из первых вопросов, которые люди задают о TTNavigator, - это как передавать нативные объекты, а не как-то кодировать их в URL. Для этого есть простой шаблон, использующий свойство запроса TTURLAction (или его эквивалентную вспомогательную функцию applyQuery :). Например, представьте, что вы хотите передать NSArray элементов для отображения в новом представлении:

NSArray *arr = [...load up with data...];
[[TTNavigator navigator] openURLAction:[[TTURLAction actionWithURLPath:@"tt://restaurant/Chotchkie's"]
  applyQuery:[NSDictionary dictionaryWithObject:arr forKey:@"arrayData"]]];

В этом примере массив передается непосредственно initWithName: но только если есть соответствующий селектор, который принимает запрос:

-(id) initWithName: (NSString*)name query:(NSDictionary*)query {
  for (MyObject* item in [query objectForKey:@"arrayData"])
    //... do something with item ...
  }

  // ...
}
...