在另一个 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.instantiateDocumentSubPartNavigationVC
,ViewController
是 class,不是 class 的实例。这与声明为对实例进行操作的函数不匹配(因为它没有关键字 class
或 static
)。
所以要么你需要使用一个 ViewController
的实例(可能是 viewController
加上一点 'l'),要么用 class
声明函数。选择取决于您要执行的操作,但它很可能是第一个选项。
这就是为什么你的问题被标记为重复的原因 - 因为看起来你想从另一个 class 级函数调用一个 class 级函数,但我怀疑你不是之后。
我有一个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.instantiateDocumentSubPartNavigationVC
,ViewController
是 class,不是 class 的实例。这与声明为对实例进行操作的函数不匹配(因为它没有关键字 class
或 static
)。
所以要么你需要使用一个 ViewController
的实例(可能是 viewController
加上一点 'l'),要么用 class
声明函数。选择取决于您要执行的操作,但它很可能是第一个选项。
这就是为什么你的问题被标记为重复的原因 - 因为看起来你想从另一个 class 级函数调用一个 class 级函数,但我怀疑你不是之后。