gpt4 book ai didi

objective-c - NSRunAlertPanel + 格式字符串不是字符串文字(可能不安全)

转载 作者:太空狗 更新时间:2023-10-30 04:00:06 25 4
gpt4 key购买 nike

好的,所以我知道格式字符串不是字符串文字警告,但我不知道为什么它会出现在 NSRunAlertPanel 上,定义是:

APPKIT_EXTERN NSInteger NSRunAlertPanel(NSString *title, NSString *msgFormat, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...) NS_FORMAT_FUNCTION(2,6);

报告错误时,我通常只是在消息中传递 error.localizedDescription,示例:

NSRunAlertPanel(@"error", err.localizedDescription, @"OK",nil,nil);

但在升级到 xcode 5.1 后,我开始收到此警告。

所以我尝试了这样的事情:

NSRunAlertPanel(@"error", [NSString stringWithFormat:@"%@", err.localizedDescription], @"OK", nil, nil);

同样的情况。有人对如何解决这个问题有任何想法吗?

最佳答案

msgFormat 是消息格式字符串,应该是字符串文字。 在 otherButton 之后添加必要的参数作为“可变参数列表”。例如

NSRunAlertPanel(@"error", @"%@", @"OK", nil, nil, err.localizedDescription);
message format---^ arguments---^

关于objective-c - NSRunAlertPanel + 格式字符串不是字符串文字(可能不安全),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22310090/

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