我试图创建一个自定义UItableViewCell,但是每次尝试给IBOutlet变量赋值时,它都会返回Fatal error: Unexpectedly found nil while unwrapping an Optional value
。我从以前的类似文章中尝试了很多方法,但都没有碰运气。我想知道为什么我不能像通常使用UIViewController时那样提供IBOulets值,以及如何解决此令人沮丧的问题。谢谢!
import Foundation
import UIKit
class AchievementsTableViewCell: UITableViewCell {
@IBOutlet weak var achievementsArrayNumber: UILabel!
@IBOutlet weak var achievementsProfilePicture: UIImageView!
@IBOutlet weak var achievementsTitleLabel: UILabel!
@IBOutlet weak var achievementsSubTitleTextView: UITextView!
@IBOutlet weak var achievementsBadgeTypeImage: UIImageView!
@IBOutlet weak var achievementsPointsNumberLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
}
class MainAchievementsViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override var prefersStatusBarHidden: Bool {
return true
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return allAchievements.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
tableView.register(AchievementsTableViewCell.self, forCellReuseIdentifier: "AchievementCell")
let cell = tableView.dequeueReusableCell(withIdentifier: "AchievementCell", for: indexPath) as! AchievementsTableViewCell
let achieve = allAchievements[indexPath.row]
cell.achievementsArrayNumber.text = String((indexPath.row + 1))
cell.achievementsProfilePicture.image = achieve.achievementProfileImage
cell.achievementsTitleLabel.text = achieve.title
cell.achievementsSubTitleTextView.text = achieve.subTitle
cell.achievementsBadgeTypeImage.image = achieve.achievementTypeImage
cell.achievementsPointsNumberLabel.text = String(achieve.achievementPoints)
return cell
}
}