この問題は、説明が非常に困難であるように思えるので、私は最善を尽くします。TTNavigationデータを渡す
私はいくつかのユーザープロファイルを持っています。私は彼らにすべて同じクラスで扱われることを望みます。
TT://User/1
TT://User/2
私はそれをどのようにマップして、それらが両方ともユーザークラスにプッシュされたのでしょうか。
これに加えて、どのようにユーザークラスにどのユーザーIDをプルするように指示できますか。
この問題は、説明が非常に困難であるように思えるので、私は最善を尽くします。TTNavigationデータを渡す
私はいくつかのユーザープロファイルを持っています。私は彼らにすべて同じクラスで扱われることを望みます。
TT://User/1
TT://User/2
私はそれをどのようにマップして、それらが両方ともユーザークラスにプッシュされたのでしょうか。
これに加えて、どのようにユーザークラスにどのユーザーIDをプルするように指示できますか。
これらの2つのリンクを確認しましたか?
a。 http://three20.info/article/2010-10-06-URL-Based-Navigation
まず、URLをコントローラにマップする必要があります。ビューを表示するURLを呼び出す前にURLマップを設定する必要があるため、通常AppDelegateでこれを行います。
ここにコードがあります。
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application {
TTNavigator* navigator = [TTNavigator navigator];
TTURLMap* map = navigator.URLMap;
// This is the default map. * = wildcard, any URL not registered will be
// routed to the TTWebController object at runtime.
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"tt://catalog" toViewController:[CatalogController class]];
[map from:@"tt://user/(initWithId:)"
toViewController:[MyUserViewController class]];
[map from:@"tt://user/(initWithId:)"
toViewController:[MyUserViewController class]];
if (![navigator restoreViewControllers]) {
[navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://catalog"]];
}
}
// ...
@end
第二に、TTViewController
@implementation MyUserViewController
- (id) initWithId:(NSNumber *)index {
if (self = [super initWithNibName:nibName bundle:nil]) {
// Do your initialization here.
// Get the index from a singleton data manager containing the "model."
}
return self;
}
@end
第三に、どこにもアプリ内からURLにナビゲートをサブクラス化。
// Navigate to the URL.
[[TTNavigator navigator] openURLAction:[TTURLAction actionWithURLPath:@"tt://user/1"]];