Я следую этому учебнику и объявляю следующие сопоставления в моем делегате приложения:
[map from:@"x://profile/(initWithId:)/(name:)" toViewController:[ProfileViewController class]];
[map from:@"*" toViewController:[TTWebController class]];
В ProfileViewController.m
Я реализую селектор - (id)initWithId:(int)anIdentifier name:(NSString *)name
для обработки такого сопоставления.Я полагаю, что открытие URL-адресов, например x://profile/1/John Doe
, вызовет [[ProfileViewController alloc] initWithId:1 name:@"John Doe"]
, однако, похоже, что это не так.Класс TTWebController
по умолчанию вызывается каждый раз, когда я открываю указанный URL.
Использование одного параметра, то есть что-то вроде x://profile/(initWithId:)
, делает правильную вещь, а именно: [[ProfileViewController alloc] initWithId:1]
.
Я что-то здесь упустил?Как использовать многопараметрическое сопоставление с Three20 и TTURLMap?