ビューコントローラがビューを引き継ぐ前にビューコントローラの変数を初期化しようとしていますが、どのように初期化しようとしても動作しません。値がデフォルト値の場合問題の一部は、変数の値を設定しようとすると問題の変数を含むビューがゼロであるようです。なぜこれがわからないのですか?どんな助けもありがとう。ありがとう!ここに私のコードは次のとおりです。変数の初期化で問題が発生しました
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()
}
}
}
は、あなたがより多くの情報が必要なら、私に教えてください。もう一度、この問題を検討していただきありがとうございます。
'mySessionDisplay'はIBOutlet接続ですか? – ebby94
あなたのコードを読むのが難しいと思っています。同じ行に中かっこをつけたif文と次のif文は、自分のスタイルに近いものですが、明らかにmySessionDisplayは2番目の場合は* still * nilです。しかし、私はSessionDisplayViewControllerTwoを見ています。それはあなたのネストされたifでチェックしているものではありません。これを説明するためにもっとコードを提供できますか? – dfd
正確にどの変数がnilであり、問題のある変数を追加してください – muescha