Как создать метод, который принимает строки с форматом напрямую в качестве аргумента?

Я не знаю точно, как поставить этот вопрос. Я хочу создать метод типа 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];

Таким образом, это означает, что метод может понять, используются ли внутри данного аргумента спецификаторы формата. Мне интересно, как это можно сделать?

5
задан Rakesh 5 July 2012 в 07:35
поделиться