gpt4 book ai didi

objective-c - 我可以将 NSLog 包装在一个带有可变数量参数的 block 中吗?

转载 作者:搜寻专家 更新时间:2023-10-30 20:03:53 25 4
gpt4 key购买 nike

我正在编写一个 Objective-C 库,我希望它提供一个简单的可插入日志记录机制,以便库用户可以打开和关闭日志记录。我认为一种有趣的方法是在库类中添加 block 属性:

typedef void (^Logger)(NSString *fmt, ...);
@property(copy) Logger logger;
logger(@"Foo, %@.", self);

但我不知道如何将可变参数列表传递给NSLog:

const Logger SimpleLogger = ^(NSString *fmt, ...) {
// what goes in here?
};

最佳答案

啊,我完全错过了 NSLogv:

const Logger SimpleLogger = ^(NSString *fmt, ...) {
va_list arglist;
va_start(arglist, fmt);
NSLogv(fmt, arglist);
va_end(arglist);
};

关于objective-c - 我可以将 NSLog 包装在一个带有可变数量参数的 block 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com