gpt4 book ai didi

ios - 使用 Swift IOS 在不同 ViewController 中的相同功能

转载 作者:行者123 更新时间:2023-12-01 21:58:21 24 4
gpt4 key购买 nike

  class FirstViewController : UiViewController {
example("First Value","Second Value")

func example(_ firstParameter: String, _ secondParameter: String) {
var one = self.ValueOne[0].first
var two = self.ValueTwo[0].second
var three = ShareClass.Variable.value
var four = keychain.get('name')
var five = self.variableNameFive
var six = firstParameter
var seven = secondParameter
}
}
class SecondViewController : UiViewController {
example("Random String","Random Value String")

func example(_ firstParameter: String, _ secondParameter: String) {
var one = self.ValueOne[0].first
var two = self.ValueTwo[0].second
var three = ShareClass.Variable.value
var four = keychain.get('name')
var five = self.variableNameFive
var six = firstParameter
var seven = secondParameter
}
}
class ThirdViewController : UiViewController {
example("Dynamic String","Dynamic Value Type")

func example(_ firstParameter: String, _ secondParameter: String) {
var one = self.ValueOne[0].first
var two = self.ValueTwo[0].second
var three = ShareClass.Variable.value
var four = keychain.get('name')
var five = self.variableNameFive
var six = firstParameter
var seven = secondParameter
}
}
class FourthViewController : UiViewController {
example("Complicated String","Complicated String Variable")

func example(_ firstParameter: String, _ secondParameter: String) {
var one = self.ValueOne[0].first
var two = self.ValueTwo[0].second
var three = ShareClass.Variable.value
var four = keychain.get('name')
var five = self.variableNameFive
var six = firstParameter
var seven = secondParameter
}
}

在上面的代码中,我编写了函数,该函数作为来自该特定 View Controller 的变量值。

因为它是在各种 View Controller 中重复的相同代码。
我试图把它写成一个函数 example()在结构或类文件中并在不同的 View Controller 中调用它。

旧方法遵循 UIViewController 扩展文件。有什么最好的方法来实现这个吗?

最佳答案

你应该扩展你的 UIViewController 类。
您可以从所有 ViewController 中调用此示例方法。

extension UIViewController {
func example(_ firstParameter: String, _ secondParameter: String) {
var one = self.ValueOne[0].first
var two = self.ValueTwo[0].second
var three = ShareClass.Variable.value
var four = keychain.get('name')
var five = self.variableNameFive
var six = firstParameter
var seven = secondParameter
}

或者正如 Vipin 所说,您可以创建一个自定义类。
class CustomClass: UIViewController {
func example(_ firstParameter: String, _ secondParameter: String) {
var one = self.ValueOne[0].first
var two = self.ValueTwo[0].second
var three = ShareClass.Variable.value
var four = keychain.get('name')
var five = self.variableNameFive
var six = firstParameter
var seven = secondParameter
}
}

在此之后,您可以像这样使用您的 ViewController:
class CustomViewController: CustomClass {
//If you want to add VC specific actions to this method, you can override it
override func example(_ firstParameter: String, _ secondParameter: String) {
super.example(firstParameter, secondParameter)
print("something more just for this VC")
}
override func viewDidLoad() {
super.viewDidLoad()
example("First Param", "Second param")
}
}

关于ios - 使用 Swift IOS 在不同 ViewController 中的相同功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60864939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com