2010-11-17 5 views
0

J'ai un problème avec le mappage des URL vers les URL NSObjects. J'ai suivi la documentation et je reçois que:NSObjects vers les mappages d'URL

[map from:[Foo class] name:@"foo" toURL:@"tt://detailedfoo/foo/(fooId)"]; 

[map from:@"tt://detailedfoo/foo/(initWithFoo:)" toSharedViewController:[DetailedFooController class]]; 

for (Foo* foo in foos) 
{ 
    [items addObject:[TableFooItem itemWithTitle:nil 
caption:foo.title 
              text:foo.text 
              URL:[foo URLValueWithName:@"foo"]]]; 
} 

Lorsque mon contrôleur poussé, la méthode « initWithFoo » appelé mais l'objet Foo appartient à la classe NSCFString et non Foo classe.
Si quelqu'un a une idée, je le prends!
Thx.

Répondre

1

Vous devez utiliser le même nom entre le mappage d'URL et votre invocation de URLValueWithName :. Dans ce cas:

[foo URLValueWithName:@"foo"] 

Cela vérifiera la carte url, trouver le nom @"foo" sur la carte, puis créer le chemin d'adresse suivante pour un objet Foo avec fooId = 3:

@"tt://detailedfoo/foo/3" 
+0

J'utilise le même nom entre la carte URL et l'invocation de URLValueWithName mais mon objet Foo est toujours nul. –

+0

Cela peut aussi faire la différence que votre url est '' tt: // detailthing // foo/(initWithFoo :) "', alors qu'il devrait probablement être '' tt: // detailedthing/foo/(initWithFoo :) "' . Note: une barre oblique moins en avant. – featherless

+0

Je suis d'accord. J'ai "[foo URLValueWithName: @" foo "]" et "tt: // detailedfoo/foo/(initWithFoo :)" mais mon objet Foo est toujours nul. –

Questions connexes