ios - Swift 编译错误 "Unknown type name"和 "Expected a type"

标签 ios swift

我遇到了一个问题,我的 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/

相关文章:

ios - 仅适用于 iPhone x 的 AVPlayer 全屏问题

ios - 在呈现 UIPopoverViewController 时,我怎样才能使除 sourceView 之外的所有内容变暗?

ios - RxSwift 访问 indexPath.section

ios - 无法在另一个类中设置 UIButton 目标?

ios - 为单个区域设置与其他区域不同的 IAP 定价

ios - SwifUI 激活 ForEach 中的所有可用索引

ios - 在 Swift 4 上为 Google ML Vision 框架旋转 UIImage

ios - Pinterest 是否需要在 OAuth 工作之前授权 App ID?

android - Firebase实时数据库数组查询问题

ios - 如何在swift中将字典值存储到字典数组中的数组中