在swift中子类化'PDFView' - 找不到接口声明
Posted
技术标签:
【中文标题】在swift中子类化\'PDFView\' - 找不到接口声明【英文标题】:Subclassing 'PDFView' in swift - cannot find interface declaration在swift中子类化'PDFView' - 找不到接口声明 【发布时间】:2017-10-23 00:11:27 【问题描述】:我正在尝试在我的 macOS 应用程序中创建 PDFKit 的 PDFView 的子类,该应用程序将遗留的 Objective-c 代码作为项目的一部分。
我的 swift 类如下所示:
import Foundation
import Quartz
class customPDFView: PDFView
required init?(coder: NSCoder)
super.init(coder: coder)
在构建过程中,我的“projectName-Swift.h”文件中出现错误,该文件创建了这个:
SWIFT_CLASS("_TtC5NVivo13customPDFView")
@interface customPDFView : PDFView
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(NSRect)frameRect SWIFT_UNAVAILABLE;
@end
上面代码中的第二行产生了错误:
Cannot find interface declaration for 'PDFView', superclass of 'customPDFView'
注意:我的“projectName.h”文件包含@import Foundation
和@import Quartz
这两行。
任何帮助将不胜感激!
【问题讨论】:
试试import Cocoa
@LeoDabus 不幸的是这不起作用
【参考方案1】:
我找到了答案,如果其他人偶然发现这个问题,我会发布。
在我的<projectName>-Bridging-Header.h
文件中,我添加到#import <Quartz/Quartz.h>
行中,这解决了问题!
【讨论】:
以上是关于在swift中子类化'PDFView' - 找不到接口声明的主要内容,如果未能解决你的问题,请参考以下文章
找不到类 com.joanzapata.pdfview.PDFView
`attemptRecovery(fromError:optionIndex:)` 在 NSDocument 的 Swift 子类的超类中找不到