我有一個自定義的類分段控件,每次選擇分段控件中的不同項目時,都與視圖控制器進行通信。我能夠很好地將數據傳遞給視圖控制器。但是,當我每次更新傳遞的變量時嘗試使用某些基本邏輯時,「animateViews」函數內的所有項顯然變爲零。我收到臭名昭着的「意外發現無」錯誤。這隻發生在我嘗試使用我傳遞的變量時,一切按預期運行,否則在函數外部運行。調用函數時,函數中的項目變爲零 - Swift 3
import UIKit
class MessagesViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
@IBOutlet weak var messageTableView: UITableView!
@IBOutlet weak var boostCollectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
...all cells, delegates, and datasource are registered and setup in here.
}
func animateViews(selectedIndex: Int) {
if selectedIndex == 0 {
print("LEFT") // prints as expected
self.messagesTableView.isHidden = false // unexpected found nil error on each of these items.
self.boostCollectionView.isHidden = true
} else if selectedIndex == 1 {
print("RIGHT") // prints correctly when updated
self.messageTableView.isHidden = true
self.boostCollectionView.isHidden = false
}
}
}
我一直在玩這個左右的時間太長了,我怎麼看法在animateViews功能隱藏和取消隱藏使用我從分段控制傳遞變量?
有可能是一個令人驚訝的簡單的修復,我沒有到這裏,但我很感激你讓你的眼球到目前爲止。謝謝!
爲什麼有人會降低這個問題的投票率? –