如何在自己的类中定义一个接受带格式的NSString的方法?
我看到使用它像一些不同的东西NSLog,[NSPredicate predicateWithFormat:(NSString *)predicateFormat, ...]当然[NSString stringWithFormat:(NSString *)format, ...]
此外,在头文件中,NSLog和stringWithFormat在声明后具有以下内容:
NS_FORMAT_FUNCTION(1,2).谷歌搜索告诉我这意味着什么并没有多大帮助.
显然省略号是格式参数,但我不知道如何在方法本身中处理它们.
您需要使用一些C代码:
- (void)someMethod:(NSString *)format,... {
va_list argList;
va_start(argList, format);
while (format) {
// do something with format which now has next argument value
format = va_arg(argList, id);
}
va_end(argList);
}
Run Code Online (Sandbox Code Playgroud)
如果你只想将这些东西传递给字符串格式,那么这可行:
- (void)someMethod:(NSString *)format,... {
va_list args;
va_start(args, format);
NSString *msg = [[NSString alloc] initWithFormat:format arguments:args];
va_end(args);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2283 次 |
| 最近记录: |