【问题标题】:custom UITableViewCell exception自定义 UITableViewCell 异常
【发布时间】:2015-02-05 10:25:45
【问题描述】:

可能是什么? 无法在(UIView)上设置(标识符)用户定义的检查属性:[setValue:forUndefinedKey:]:此类与键标识符的键值编码不兼容。 在 iOS 8 上它可以工作,但在调试器中会发送垃圾邮件,在以前的版本中它会导致应用程序崩溃。 我检查并重新连接了界面生成器中的所有连接。

我的代码 cellForRowAtIndexPath:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        var cell = tableView.dequeueReusableCellWithIdentifier(self.identifier, forIndexPath: indexPath) as PostCell

        cell.backgroundColor = UIColor.clearColor()

        cell.likeButton.setBackgroundImage(UIImage(named: "post_like_active"), forState: UIControlState.Selected)
        cell.dislikeButton.setBackgroundImage(UIImage(named: "post_dislike_active"), forState: UIControlState.Selected)

        var storageManager: PostStorageManager = PostStorageManager.sharedManager()
        var model: PostModel = storageManager.storageObjects()[indexPath.row] as PostModel

        cell.likeButton.selected = model.likeManager.likeState!.liked
        cell.dislikeButton.selected = model.likeManager.likeState!.disliked

        cell.textView.text = model.text
        cell.textView.font = UIFont(name: "HelveticaNeue-Light", size: fontSize)!
        cell.textView.contentInset = UIEdgeInsets(top: self.contentInsetTop, left: 0, bottom: 0, right: 0)

        cell.likeLabel.text = String(format: "%@", model.amountOfLikes)
        cell.dislikeLabel.text = String(format: "%@", model.amountOfDislikes)

        var date: NSDate = model.date

        cell.timeLabel.text = date.timeAgo()

        var tapRecog: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "tapOccure:")
        tapRecog.numberOfTapsRequired = 1
        cell.textView.addGestureRecognizer(tapRecog)

        var isMan = model.isMan.boolValue

        cell.trollfaceImage.image = UIImage(named: String(format: "%@_%i", isMan ? "man" : "woman", model.experiance.integerValue))

        var manColor = UIColor(red: 41/255, green: 86/255, blue: 115/255, alpha: 1)
        var womanColor = UIColor(red: 206/255, green: 68/255, blue: 96/255, alpha: 1)
        cell.ageLabel.textColor = isMan ? manColor : womanColor
        cell.ageLabel.text = String(format: "%i", model.age.integerValue)

        cell.textView.userInteractionEnabled = false

        return cell
    }

【问题讨论】:

  • 请发布您的 cellForRowAtIndexPath 的代码
  • dequeueReusableCellWithIdentifier 行是否崩溃?
  • 是的,它在这一行的异常断点处停止

标签: ios uitableview


【解决方案1】:

检查单元格中的所有视图,我认为您将标识符放在错误的位置。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2016-07-27
    • 2011-02-11
    • 2019-02-25
    相关资源
    最近更新 更多