xcode 8错误类不可用使用self

时间:2016-09-28 09:28:00

标签: objective-c xcode xcode8

升级到XCode 8后,某些第三方库停止了编译。

NSArray *validTypes = @[
    [NSString class],
    [NSNumber class],
    [NSDictionary class],
    [NSArray class],
    [NSNull class]
];

我收到错误

`class` is unavailable, use `self` instead

2 个答案:

答案 0 :(得分:1)

对于遇到相同问题的用户,我建议在整个项目中将class替换为self以下方法。

首先,点击search tab并选择find and replace with regex

您的搜索正则表达式模式:isKindOfClass:\[(\w+) (\w+)\],替换模式:isKindOfClass:$1.self

enter image description here

输入您在屏幕截图中看到的值,然后点击预览以仔细检查自己。你应该看到类似的东西:

enter image description here

答案 1 :(得分:0)

我在尝试不同的组合后使用self解决了这个问题。

NSArray *validTypes = @[
   NSString.self,
   NSNumber.self,
   NSDictionary.self,
   NSArray.self,
   NSNull.self
];