Ios 在另一个viewController中调用类方法
我有一个像下面这样的班Ios 在另一个viewController中调用类方法,ios,swift,class-method,Ios,Swift,Class Method,我有一个像下面这样的班 Class ViewControlelr: UIViewController { func instantiateDocumentSubPartNavigationVC(documentPart: DocumentPart, documentPartsArray: [DocumentPart]) { //definition } } 在另一个名为ViewController2的类中,我想调用上面的方法。 我希望看到下面的内容,以便将参数传递给ViewContro
Class ViewControlelr: UIViewController {
func instantiateDocumentSubPartNavigationVC(documentPart: DocumentPart, documentPartsArray: [DocumentPart]) {
//definition
}
}
在另一个名为ViewController2的类中,我想调用上面的方法。
我希望看到下面的内容,以便将参数传递给ViewController2中的方法
ViewController.instantiateDocumentSubPartNavigationVC(documentPart: DocumentPart, documentPartsArray: [DocumentPart])
但我实际上看到的是
ViewController.instantiateDocumentSubPartNavigationVC(ViewController)
如何在不同的类中成功地使用class方法?函数可以声明为在两个级别之一(类或实例)上运行。调用函数时,必须正确匹配 当前代码具有
ViewController.InstancedDocumentSubpartNavigationVC
,并且ViewController
是一个类,而不是一个类的实例。这与声明在实例上操作的函数不匹配(因为它没有关键字class
或static
)
因此,您需要使用ViewController
(可能是ViewController
,带有一个小“l”)的实例,或者使用class
声明函数。选择取决于你想做什么,但这很可能是第一个选择
这就是为什么你的问题被标记为重复的原因——因为看起来你想从另一个类级函数调用一个类级函数,但我怀疑这不是你想要的 如果我把它作为类函数,我发现我不能调用self.presentViewController(rootViewController,动画:true,完成:nil)。有什么问题吗?我会更新以更好地解释。