gpt4 book ai didi

ios - 如果我在 iOS8 模拟器上运行应用程序,则不会初始化来自 xib 的 IBOutlets

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:39:58 24 4
gpt4 key购买 nike

我已经使用 XCode 7 GM(基本 SDK - iOS9)构建了一个应用程序。如果我在 iOS 9 模拟器上运行它,它会完美运行,但如果我尝试在 iOS8 上运行它,它会在这里失败:

@IBOutlet weak var collectionView: UICollectionView!

override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = NSLocalizedString("Home", comment: "Home")
collectionView.registerNib(UINib(nibName: "PTHomeCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "PTHomeCollectionViewCell")
}

有错误

fatal error: unexpectedly found nil while unwrapping an Optional value

因为 collectionView 是 nil: enter image description here

当然,我已经仔细检查了 IB 中的连接是否已建立: enter image description here

谁能告诉我为什么这里的 collectionView 为 nil?

最佳答案

我可以通过添加

来解决这个问题
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
let name = NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!
super.init(nibName: nibNameOrNil ?? name, bundle: nibBundleOrNil)
}

到 View Controller 类。但为什么会这样呢?还有其他方法可以解决此问题吗?

更新:这是一个 Swift View Controller 功能,非常类似于错误。检查Can't Load UIViewController XIB file in Storyboard in SwiftAre view controllers with nib files broken in ios 8 beta 5?

它已在 iOS 9.4 中修复,但如果您需要 iOS 8 和更早版本的支持,您仍然需要使用变通办法。

关于ios - 如果我在 iOS8 模拟器上运行应用程序,则不会初始化来自 xib 的 IBOutlets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32632421/

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