在另一个 viewController 中调用 class 方法

Calling a class method in another viewController

我有一个class关注

Class ViewControlelr: UIViewController {
    func instantiateDocumentSubPartNavigationVC(documentPart: DocumentPart, documentPartsArray: [DocumentPart]) {
//definition
}
}

在其他 class 调用 ViewController2 中,我想调用上面的方法。 我希望看到下面的内容,这样我就可以将参数传递给 ViewController2

中的方法
ViewController.instantiateDocumentSubPartNavigationVC(documentPart: DocumentPart, documentPartsArray: [DocumentPart])

但我实际看到的是

ViewController.instantiateDocumentSubPartNavigationVC(ViewController)

如何在不同的 class 中成功使用 class 方法?

函数可以声明为在两个级别之一运行 - class 或实例。调用函数的时候一定要匹配正确

目前您的代码有 ViewController.instantiateDocumentSubPartNavigationVCViewController 是 class,不是 class 的实例。这与声明为对实例进行操作的函数不匹配(因为它没有关键字 classstatic)。

所以要么你需要使用一个 ViewController 的实例(可能是 viewController 加上一点 'l'),要么用 class 声明函数。选择取决于您要执行的操作,但它很可能是第一个选项。

这就是为什么你的问题被标记为重复的原因 - 因为看起来你想从另一个 class 级函数调用一个 class 级函数,但我怀疑你不是之后。