zou*_*oul 3 logging objective-c objective-c-blocks
我正在编写一个Objective-C库,我希望它提供一个简单的可插入日志记录机制,以便库用户可以打开和关闭日志记录.我认为有趣的方法是在库类上使用块属性:
typedef void (^Logger)(NSString *fmt, ...);
@property(copy) Logger logger;
logger(@"Foo, %@.", self);
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将变量参数列表传递给NSLog:
const Logger SimpleLogger = ^(NSString *fmt, ...) {
// what goes in here?
};
Run Code Online (Sandbox Code Playgroud)
啊,我完全错过了NSLogv:
const Logger SimpleLogger = ^(NSString *fmt, ...) {
va_list arglist;
va_start(arglist, fmt);
NSLogv(fmt, arglist);
va_end(arglist);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
731 次 |
| 最近记录: |