Interface Builder 文件中的未知 Class X
Unknown Class X in Interface Builder File
我正在与 Xcode 7 和 swift 合作。
我正在尝试将集合视图原型单元格上的标签连接到我的代码。我知道要这样做,我必须制作 UICollectionViewCell 的子 class 并将其放入那个 class 而不是我所做的视图控制器。我 运行 将插座添加到 subclass 后立即应用程序,应用程序崩溃了。我注意到错误消息的顶部显示:Unknown Class nameOfSubclass in Interface Builder File。我看过其他堆栈溢出问题,他们说在自定义 class 下设置模块是一件简单的事情。我这样做了,但应用程序仍然崩溃,现在它在 Interface Builder 文件中显示:Unknown class _TtC13 (app name / module name) 17(nameOfSubclass) 。
identity inspector of the prototype cell
identity inspector of the UICollectionView
代码
import UIKit
class SecondViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
@IBOutlet weak var collectionView: UICollectionView!
private let reuseIdentifier = "hourlyWeatherCell"
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of items
return 48
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) //as! hourlyWeatherCell
// Configure the cell
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
printDate()
// Do any additional setup after loading the view.
self.collectionView.dataSource = self
self.collectionView.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
class hourlyWeatherCell: UICollectionViewCell {
@IBOutlet weak var temperatureHLabel: UILabel!
}
}
稍加修改,我就可以使用它了。出于某种原因,Xcode 没有将 subclass 编译为 UIViewContoller。我只是将 subclass 移出视图控制器 class(使 subclass 成为 class),一切正常。
我正在与 Xcode 7 和 swift 合作。
我正在尝试将集合视图原型单元格上的标签连接到我的代码。我知道要这样做,我必须制作 UICollectionViewCell 的子 class 并将其放入那个 class 而不是我所做的视图控制器。我 运行 将插座添加到 subclass 后立即应用程序,应用程序崩溃了。我注意到错误消息的顶部显示:Unknown Class nameOfSubclass in Interface Builder File。我看过其他堆栈溢出问题,他们说在自定义 class 下设置模块是一件简单的事情。我这样做了,但应用程序仍然崩溃,现在它在 Interface Builder 文件中显示:Unknown class _TtC13 (app name / module name) 17(nameOfSubclass) 。
identity inspector of the prototype cell
identity inspector of the UICollectionView
代码
import UIKit
class SecondViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
@IBOutlet weak var collectionView: UICollectionView!
private let reuseIdentifier = "hourlyWeatherCell"
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of items
return 48
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) //as! hourlyWeatherCell
// Configure the cell
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
printDate()
// Do any additional setup after loading the view.
self.collectionView.dataSource = self
self.collectionView.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
class hourlyWeatherCell: UICollectionViewCell {
@IBOutlet weak var temperatureHLabel: UILabel!
}
}
稍加修改,我就可以使用它了。出于某种原因,Xcode 没有将 subclass 编译为 UIViewContoller。我只是将 subclass 移出视图控制器 class(使 subclass 成为 class),一切正常。