Вот 2 варианта:
вы устанавливаете весь свой объект в виде контейнера объекта и помещаете его в глобальный кеш, где вы можете получить идентификатор для того контейнера, который вы кодируетев строку в URL.Это добавило бы немного накладных расходов при управлении жизненным циклом этих объектов: (
Существует еще один полезный способ вызова трех 20 контроллеров с использованием URL-адресов, который предусматривает несколько иной способ соединения параметров:
Ваш целевой контроллер будет иметь другой метод init, подобный этому:
-(id)initWithNavigatorURL:(NSURL *)URL query:(NSDictionary *)query {
self = [super initWithNavigatorURL:URL query:query];
if (self) {
self.parameter = [query objectForKey:@"[YOUR PARAMETER NAME]"];
}
return self;
}
Вы вызываете его, вызывая контроллер следующим образом:
TTURLAction *action = [[[TTURLAction actionWithURLPath:@"yourapp://yourViewController"]
applyAnimated:YES]
applyQuery:[NSDictionary dictionaryWithObject:[YOUR OBJECT] forKey:@"[YOUR PARAMETER NAME]"]];
[[TTNavigator navigator] openURLAction:action];
Теперь все, что вам осталось, это сопоставить ссылки внутри метки, чтобы каким-то образом вызвать эту причудливую операцию TTURLAction.
Это можно сделать, изменив TTURLMap в контроллере, в котором размещена стилизованная метка. Три20 имеет следующий способ:добавьте отображение к определенному классу и селектору:
- (void)from:(NSString*)URL toObject:(id)object selector:(SEL)selector;
, поэтому в этом контроллере представления, в котором размещена метка, добавьте следующее:
TTNavigator* navigator = [TTNavigator navigator];
TTURLMap* map = navigator.URLMap;
[map from:@"yourapp://someaction" toObject:self selector:@selector(userpressedlink)];
внутри этого метода userpressedlink вызовите причудливый TTURLAction
Несколько вещей, которые следует запомнить:
- вам нужно удалить это отображение (я предлагаю viewWillAppear добавить отображение и viewWillИсчезают, чтобы удалить их)
- каждая ссылка должна иметь свое собственное сопоставление, чтобы вы могли различать ссылки и сопоставлять их с различными селекторами.