我遇到了一个问题,我的 Swift 代码编译正常,但生成的 -Swift.h 文件中有错误...
这是我正在做的一个例子:
class MyScene : CCLayer {
var ctrl : CCControlSlider?
}
这在 swift 代码中编译得很好,我也可以看到 ctrl 对象上的方法也很好。我的桥头中有以下内容:
#import "cocos2d.h"
#import "CCControlSlider.h"
这在使用其他正常工作的库的其他类中工作得很好。另请注意,我可以在我的 objective-c 类中使用这个 CCControlSlider 类,也没有任何问题。
这是生成的 -Swift.h 文件中发生的事情:
SWIFT_CLASS("_TtC15MyProject10MyScene")
@interface MyScene : CCLayer
@property (nonatomic) CCControlSlider * ctrl;
@end
该属性有错误“未知类型名称“CCControlSlider”,如果在方法中使用它,则会给出错误“预期类型”。
这在使用其他类时工作得很好,但出于某种原因,这个类仅在生成的头文件中出现此编译器错误,并且仅在从 Swift 中使用时。
我想我想知道的是,我做错了什么还是这只是一个错误??
最佳答案
在将一组 Objective C 文件合并到我主要基于 Swift 的项目中时,我突然开始在这些文件上遇到很多这样的错误。然后我意识到虽然文件有:
#import <Foundation/Foundation.h>
它没有:
#import <UIKit/UIKit.h>
一旦我添加了该行,错误就开始解决了。事后清洁总是有帮助的。祝你好运
注意:使用较新版本的 Swift 导入更容易输入,并且可以像这样完成:
import UIKit
关于ios - Swift 编译错误 "Unknown type name"和 "Expected a type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24169935/