ios - 在另一个 viewController 中调用类方法

标签 ios swift class-method

<分区>

我有一个类如下

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

在另一个名为 ViewController2 的类中,我想调用上面的方法。 我希望看到下面的内容,这样我就可以将参数传递给 ViewController2 中的方法

ViewController.instantiateDocumentSubPartNavigationVC(documentPart: DocumentPart, documentPartsArray: [DocumentPart])

但我实际看到的是

ViewController.instantiateDocumentSubPartNavigationVC(ViewController)

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

最佳答案

函数可以声明为在两个级别之一运行 - 类或实例。调用函数时,必须正确匹配。

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

因此,要么您需要使用 ViewController 的实例(可能是带有一点“l”的 viewController),要么使用 class 声明该函数。选择取决于您要执行的操作,但它很可能是第一个选项。

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

关于ios - 在另一个 viewController 中调用类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261784/

相关文章:

ios - pod spec lint 命令失败

ios - 在 Swift 5 协议(protocol)中使用 @objc

ios - 引用 Assets 目录中文件夹中的图像

ios - 如何在 Swift 中调用 Objective-C 类别方法

ios - 无法将类型 'Swift.UInt64' (0x10dddde88) 的值转换为 'Swift.AnyObject' (0x12129d018)

ios - 如何在 1 项选项卡栏 Controller 内制作顶部选项卡以快速显示多个 View Controller ?

python-3.x - 为什么 __qualname__ 在 @classmethod 中的工作方式与在元类中不同

python - 从模块调用类函数?

objective-c - 如何在 Objective C 中获取这些对象数组中的对象的属性?

python - Python中定义类变量时如何引用类方法?