我知道如果使用from:toViewController:
映射url,那麼打開該url將創建一個新的視圖控制器,如果使用from:toSharedViewController
,則將使用共享實例。Three20 - 共享視圖控制器的打開url
但例如
[map from:@"tt://tabbar/(initWithString:)" toSharedViewController:[MyTabbarController class]];
TTOpenURL(@"tt://tabbar/string");
這將調用類似
[[MyTabbarController alloc] initWithString:@"string"]
但究竟會發生什麼,如果TTOpenURL(@"tt://tabbar/somethingelse")
在後面叫什麼? 由於使用共享對象,所以initWithString:
在同一個實例上被調用兩次?
是否可以打開同一個實例並調用setter,比如'setString:'not'initWithString:'?否則幾乎不可能重用控制器。我發現'from:toViewController:selector',但我不知道如何使用它 – 2011-06-06 11:23:22
你可以做到這一點。如果你只想獲得現有的控制器,你可以不用調用'TTOpenURL',而使用'[[TTNavigator navigator] viewControllerForURL:@「xxxx」]。 – sergio 2011-06-06 11:27:58