尝试在Swift中子类化自定义Objective-C类(UIViewController的子类)时出现构建错误。
当我尝试在Swift中进行子类化时,我会在下面的图片中看到构建错误。所有这些都与使用class
这个词作为OCMapper库中的参数(我在哪里打开an issue)有关。
更多说明:
Module-Swift.h
和.m
文件中导入已编译的.mm
,并在.h
个文件中转发我需要的类。Module-Swift-Fixed.h
类,我转发声明和/或导入自定义的Objective-C类标题(按照建议的here),但这没有什么区别。
有没有人见过这样的事情或有解决方案?
答案 0 :(得分:1)
我还没有能够跟踪语言规范中记录的位置,但我怀疑你遇到了我最近在Objective-c中遇到的同样的问题,因为转移到Xcode 6.4。
我有一条消息(方法)定义如下
- (BOOL)canProcessClass:(Class) class {
return [class isSubclassOfClass:[NSSet class]];
}
与您提到的Expected identifier
相同的编译错误。修复很简单 - 只需将class
参数重命名为classToProcess
。哪个会给你以下
- (BOOL)canProcessClass:(Class) classToProcess {
return [classToProcess isSubclassOfClass:[NSSet classToProcess]];
}
因此,只需将Swift代码中的参数重命名为不使用(键)字class
,你应该没问题。
如果有人能指出我记录的语言规范,我会非常感激。据我所知,您不应该使用Class
,但我无法找到有关class
的任何内容,除非明显是它是一条消息(方法)可以上课。