Swift 5-类与类之间传递数据的问题

Swift 5-类与类之间传递数据的问题,swift,xcode,global-variables,parameter-passing,Swift,Xcode,Global Variables,Parameter Passing,作为学习Swift的练习,我正在创建一个简单的应用程序,您可以使用ImagePickerController选择照片并获取有关照片的数据。现在,我只是从照片的相位集中提取像素宽度和像素高度数据 我的设置:我有一个ViewController类,我使用故事板创建该类,该类包括UI、ImagePickerController及其委托,在选择photo后,该委托将更新另一个名为TestGlobalData的类中的数据 我遇到的问题是,虽然我能够将变量从ViewController更新到TestGlob

作为学习Swift的练习,我正在创建一个简单的应用程序,您可以使用ImagePickerController选择照片并获取有关照片的数据。现在,我只是从照片的相位集中提取像素宽度和像素高度数据

我的设置:我有一个
ViewController
类,我使用故事板创建该类,该类包括UI、ImagePickerController及其委托,在选择photo后,该委托将更新另一个名为
TestGlobalData
的类中的数据

我遇到的问题是,虽然我能够将变量从
ViewController
更新到
TestGlobalData
,但我无法让它在
ViewController
上重新更新

这是我的密码。任何帮助都会得到感谢,我完全被难住了(如前所述,我也是Swift的新手,所以指出我没有得到的任何基本的东西也会得到感谢!)


问题是您正在TestGlobalData类中创建TestViewController的新实例,特别是在pushData()函数中

而是将pushData更改为:

func pushData(vc: UIViewController) {
  vc.testWidthText = widthInString
  vc.testHeightText = heightInString
}
并在调用该方法时更改为:

data.pushData(self)  
这里有一些额外的资源,可以帮助您更好地理解一切:)


Que?没有一行代码表明TestGlobalData向视图控制器发送数据。我的想法是,当ImagePickerController完成选择photo并运行类似的函数时,我可以简单地实例化TestGlobalData。像这样:谢谢@ZachtheBoB-这就解决了它!也谢谢你的链接,我会仔细阅读的!
func pushData(vc: UIViewController) {
  vc.testWidthText = widthInString
  vc.testHeightText = heightInString
}
data.pushData(self)