OStack程序员社区-中国程序员成长平台

标题: ios - 自定义 UITableViewCell 异常 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 03:50
标题: ios - 自定义 UITableViewCell 异常

可能是什么? 无法在(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
    }



Best Answer-推荐答案


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

关于ios - 自定义 UITableViewCell 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346576/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4