自定义UITableViewCell返回致命错误:在展开可选值时意外发现nil

时间:2018-08-27 06:41:07

标签: ios swift

我试图创建一个自定义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
      }
 }

0 个答案:

没有答案