在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 子类的超类中找不到

Xcode 看不到 swift 子类

如何在 swift 中将 UIImage 中的 PDF 放入 PDFView 中?

未在 PDFView 子类上调用 drawRect

无法在使用 Alamofire 下载的 PDFView IOS 中查看 PDF - SWIFT