Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在另一个viewController中调用类方法_Ios_Swift_Class Method - Fatal编程技术网

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)。有什么问题吗?我会更新以更好地解释。