NS_FORMAT_FUNCTION(F,A)

从本子上拷贝一开源项目到台式上,陡然间多了8个warning:Format string is not a string literal。

陡然间就觉得很呵呵有木有!

NSString *message = @"Attempting to connect while connected or accepting connections. Disconnect first.";
[NSException raise:AsyncSocketException format:message]; //警告出现处

跟踪查询了一下,里面有个方法是:

+ (void)raise:(NSString *)name format:(NSString *)format, ... NS_FORMAT_FUNCTION(2,3);

format确实是string啊,那么NS_FORMAT_FUNCTION(2,3)又是什么呢?

NS_FORMAT_FUNCTION(2,3) 是系统库的一个宏定义,用于自定义可变参数函数,官方解释是:

// Marks APIs which format strings by taking a format string and optional varargs as arguments

将警告处改为下面这样就好了:

[NSException raise:AsyncSocketException format:message,nil];

嗯,好像说够了,撒哟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值