gpt4 book ai didi

ios - 初始化变量时遇到问题

转载 作者:行者123 更新时间:2023-11-30 12:43:29 25 4
gpt4 key购买 nike

我试图在 View Controller 接管 View 之前初始化 View Controller 中的变量,似乎无论我如何尝试初始化它,它都不起作用,并且软件运行时就好像该值是默认值。部分问题似乎是当我尝试设置变量的值时,包含相关变量的 View 为零。我不知道这是为什么。任何帮助,将不胜感激。谢谢!这是我的代码:

override func setStartPosition()
{
if sessionNameIndex != nil
{
if let curSession = ShareData.sharedInstance.sessionDataObjectContainer[sessionNames[sessionNameIndex]]
{
initialValue = YesNo(rawValue: (curSession.currentValue))

if mySessionDisplay == nil
{
mySessionDisplay = SessionDisplayView(frame: self.view.frame)
if mySessionDisplay == nil
{
var shouldneverbehere = 0 //Always goes here!
}
else
{
mySessionDisplay.onView(index: 2, sessionName: sessionNames[sessionNameIndex])
mySessionDisplay.curScene.setStartPosition(newValue: val!)
}

}



}
}
}

此函数在以下代码中被调用:

override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{

if let destination = segue.destination as? SessionDisplayViewControllerTwo
{
if let myNames = sender as? [String]
{
destination.sessionNames = myNames
destination.sessionNameIndex = 1
destination.setStartPosition()
}
}
}

如果您需要更多信息,请告诉我。再次感谢您对此事的考虑。

最佳答案

View Controller 的 View 尚未加载到 prepareForSegue 中。正如 @muescha 在他的评论中建议的那样,您应该在 prepareForSegue 中设置属性,然后等待 viewDidLoadviewWillAppear ,然后再尝试将它们安装在你的意见。我不确定为什么您尝试手动创建 SessionDisplayView 失败,但无论如何您都不应该尝试在 prepareForSegue 中创建 View ,因此解决方案是“不要这样做。”

关于ios - 初始化变量时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948928/

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