gpt4 book ai didi

ios - Xcode 6.3 的 NSParameterAssert 编译错误

转载 作者:技术小花猫 更新时间:2023-10-29 10:40:02 27 4
gpt4 key购买 nike

我在任何使用 NSParameterAssert 的地方遇到编译错误。例如:

-(instancetype)initForPlot:(CPTPlot *)plot withFunction:(CPTDataSourceFunction)function
{
NSParameterAssert([plot isKindOfClass:[CPTScatterPlot class]]);
NSParameterAssert(function);

if ( (self = [self initForPlot:plot]) ) {
dataSourceFunction = function;
}
return self;
}

代码在 Xcode 6.2 上编译良好,但在 Xcode 6.3 上出现以下错误:
/Users/xxxx/Project/App/Presentation/CorePlot/Source/CPTFunctionDataSource.m:110:5:在 NSString 中使用 %s 指令作为格式化参数传递给格式化方法

我上网查了一下,没有看到报错信息的信息。
我正在使用的临时修复程序如下:

#undef NSParameterAssert
#define NSParameterAssert(condition) ({\
do {\
_Pragma("clang diagnostic push")\
_Pragma("clang diagnostic ignored \"-Wcstring-format-directive\"")\
NSAssert((condition), @"Invalid parameter not satisfying: %s", #condition);\
_Pragma("clang diagnostic pop")\
} while(0);\
})

不过应该​​有更好的解决方案。

最佳答案

您所要做的就是将您的核心绘图库更新到最新版本(对我有用),因为:

如果你去 Coreplot git repo ( https://github.com/core-plot/core-plot/commits/master ),

在提交中你可以看到:

Commits on Feb 15, 2015
@eskroch
Fixed Xcode 6.3 beta build warnings.
eskroch authored on Feb 15

这意味着这个问题从 2 月 15 日起就已经修复了,比 iOS 8.3 发布早了很长时间,从测试版开始。

关于ios - Xcode 6.3 的 NSParameterAssert 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29549756/

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