我正在遵循this教程,并在我的应用程序委托中声明以下映射:
[map from:@"x://profile/(initWithId:)/(name:)" toViewController:[ProfileViewController class]];
[map from:@"*" toViewController:[TTWebController class]];
在
ProfileViewController.m
中,我实现了- (id)initWithId:(int)anIdentifier name:(NSString *)name
选择器来处理这种映射。我想像x://profile/1/John Doe
这样的打开URL会调用[[ProfileViewController alloc] initWithId:1 name:@"John Doe"]
,但是,事实并非如此。每次我打开所说的URL都会调用默认的TTWebController
类。使用单个参数,即
x://profile/(initWithId:)
之类的东西做对了,那就是调用[[ProfileViewController alloc] initWithId:1]
。我在这里想念什么吗?如何在Three20和TTURLMap中使用多参数映射?
最佳答案
问题是“ x:// profile / 1 / John Doe”未正确设置为URL格式。建立网址时,请尝试以下方法:
NSString *URL = [NSString stringWithFormat:@"x://profile/%d/%@", 1,
[@".." stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
请享用!
/ mtr
关于iphone - 使用Three20和TTURLMap进行多参数映射,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3182585/