2011-07-15 5 views
0

私はチュートリアルhereに従っていました。URLにネイティブオブジェクトを渡します

私が持っているコードは次のとおりです。

- (void) didSelectObject:(id) object atIndexPath:(NSIndexPath*) indexPath  
{ 
    Group * group = (Group *)((RKMappableObjectTableItem *) object).object; 
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 

    group.unread = 0; 
    [self.tableView reloadData]; 

    TTURLAction *action = [[[TTURLAction actionWithURLPath:@"tt://group"] 
          applyQuery:[NSDictionary dictionaryWithObject:group forKey:@"kParameterUser"]] 
          applyAnimated:YES]; 
    [[TTNavigator navigator] openURLAction:action]; 

} 

私のようにマッピングを設定している:

[map from:@"tt://group" toSharedViewController:[TopicsViewController class]]; 

と私TopicsViewControllerの内側に、私が試してみました両方:

- (id) initWithNavigatorURL:(NSURL*)URL query:(NSDictionary*)query { 
をしかし、それはdidnの仕事はありません。まるでマッピングが見つからないかのようです。どうしてこれなの?私は間違って何をしていますか?

UPDATE:

TTURLAction *action = [[[TTURLAction actionWithURLPath:@"tt://group"] 
           applyQuery:[NSDictionary dictionaryWithObject:group forKey:@"kParameterUser"]] 
           applyAnimated:YES]; 
     [[TTNavigator navigator] openURLAction:action]; 

[map from:@"tt://group?" toSharedViewController:[TopicsViewController class] selector:@selector(initWithNavigationURL:)]; 

- (id) initWithNavigatorURL:(NSURL*)URL query:(NSDictionary*)query 

私がここで間違って何をやっている:?

ここでの提案に基づいて更新されたコードですか

答えて

1

あなたは、どのセレクターを選択するかは教えていません。まず、?をマッピングの末尾に追加します。@ "tt:// group?"

クエリ辞書を追加すると、URL(?foo=bar&apple=orange)の通常のパラメータのように送信されます。

次に、セレクタをURLマッピングの一部として使用しない場合は、from:toSharedViewController:selector:メソッドを使用して、呼び出すセレクタにセレクタを設定します。

+0

私は実際にはinitWithNavigatorURLを呼び出すだけです:(NSURL *)URLクエリ:(NSDictionary *)クエリ、別のセレクタの代わりに...いくつかの他の例を見て、それを使用していないようですか? ..あなたは精巧にできますか?私は上記の質問にリンクされている3つの文書でさえ、それは使用されていませんでしたか? – adit

+0

なぜあなたのinitメソッドでnavigatorURLが気になりますか?なぜあなたはそれが必要なのですか?どちらの方法でも、セレクタを@selector(initWithNavigatorURL :)に設定します。 – coneybeare

+0

私は実際にnavigatorURLを気にしません。渡されたオブジェクトが気になります。とにかく私はあなたの提案を試みましたが、それでも動作しません... – adit

0

私はよく分かりませんが、最初に渡したいオブジェクトへのURLを作成する必要があります。マッピングすることができます。この方法は、ほぼすべてのFrameworkクラスによってNSObjectのから継承されなければならない
NSString* url = [myFooObject URLValueWithName:@"barName"];

:それはthree20のように表示されます

は、あなたが呼び出すことができますNSObjectの上のカテゴリが用意されています。

は、あなたが投稿チュートリアルから章URLマッピング方法のURLからNSObjectsを参照してください。

+0

私が知っている限り...あなたはパラメータとしてオブジェクトを渡しているときにオブジェクトのURLを設定しません。オブジェクトのURLを設定した場合、私の場合のようなURLになります? – adit

関連する問題