Abh*_*hek 5 objective-c ios apple-tv swift tvos
我有一个 tvOS 项目,包含一个 App 目标和 3 个静态库:
\nEntryPoint \xe2\x80\x93 包含 main 、 AppDelegate 和 SceneDelegate 的静态库
\n体验包含我的 UI 元素的 \xe2\x80\x93 静态库
\n使用上述两个库构建的 AppTarget \xe2\x80\x93 可执行文件
\n我有一个“SelectionTable”类,它是体验目标中 UITableView 的子类:
\nimport UIKit\n\n class SelectionTable : UITableView\n{\n private var vDataSrc:[String]!\n\n func SetDataSrc (_ pDataSrc:[String])\n {\n self.vDataSrc = pDataSrc\n }\n\n func UpdateDataSrc (_ pStringList:[String])\n {\n self.vDataSrc += pStringList\n }\n\n func GetDataSrc () -> [String]\n {\n return self.vDataSrc\n }\n}Run Code Online (Sandbox Code Playgroud)\r\n我没有在任何地方使用此类,但在构建 AppTarget 时仍然遇到这些错误:
\n\n\n找不到“UITableView”(“SelectionTable”的超类)的接口声明
\n
\n\n期望一个类型
\n
上述错误来自生成的头文件“Experience-Swift.h”。该文件由编译器自动生成。我没有在代码中的任何地方使用 @objc,但 Target-Swift.h 文件仍然包含以下几行:
\nSWIFT_CLASS("_TtC10Experience22SelectionTable")\n@interface SelectionTable : UITableView\n- (nonnull instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER;\n- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;\n@endRun Code Online (Sandbox Code Playgroud)\r\n当我将上面的类标记为 Private 时,此错误就会消失。
\n而且,如果我在 EntryPoint 库中定义 SelectionTable 类,则不会发生此错误。
\n我也在 iOS 项目中使用类似的模型,但我没有遇到这个问题。
\n我正在使用:- Swift 版本:Swift 5.9.2 XCode 版本:15.2
\n| 归档时间: |
|
| 查看次数: |
27 次 |
| 最近记录: |