Я не знаю точно, как поставить этот вопрос. Я хочу создать метод типа stringWithFormat:
или predicateWithFormat:
, т.е. мой метод принимает аргумент напрямую в виде строки со спецификаторами формата. Как я могу этого добиться?
Например,
-(void) someMethod: (NSString *)str, format;
Чтобы я мог позже назвать это как:
[someObject someMethod:@"String with format %@",anotherString];
Это не связано с каким-либо конкретным контекстом.
Я работал predicateWithFormat
с кодом, похожим на :
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like myName"];
. Это не сработало, но:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like 'myName'"];
работал аналогично:
NSString *str = @"myName";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like %@",str];
Таким образом, это означает, что метод может понять, используются ли внутри данного аргумента спецификаторы формата. Мне интересно, как это можно сделать?