【问题标题】:how do I force to assign the value to a constant? [duplicate]如何强制将值分配给常量? [复制]
【发布时间】:2019-05-17 08:40:47
【问题描述】:

我无法分配价值。将我的“类别”视为常数。我试过as吗?但是,当然,他告诉我“使用未声明的类型'类别”

class FeedCell: UITableViewCell {

@IBOutlet weak var category: UILabel!
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var labelTitle: UILabel!
@IBOutlet weak var labelSubtitle: UILabel!

override func awakeFromNib() {
    super.awakeFromNib()
}

// assembled the cell
func updateCell(withFeedItem feedItem: RSSFeedItem) {
    var imageLink = ""
    var category = ""

    for media in (feedItem.media!.mediaThumbnails)! {
        imageLink = media.attributes?.url ?? "No image"
    }
    for categories in feedItem.categories! {
        category = categories.value ?? "None"

        guard let mediaThumbnails = feedItem.media?.mediaThumbnails,
            let categories = feedItem.categories else { return }

        for media in mediaThumbnails {
            imageLink = media.attributes?.url ?? "No image"
        }
        for category in categories {
            category = category.value ?? "None"
        }
    }

    self.myImageView.sd_setImage(with: URL(string: imageLink), completed: nil)
    self.labelTitle.text = feedItem.title
    self.labelSubtitle.text = feedItem.description
    self.category.text = category
}

}

【问题讨论】:

  • @mag_zbc 我写了代码。我放了照片来显示错误。对不起
  • @mag_zbc 我认为他发布图片只是为了显示发生在哪一行的错误,完整代码在上面
  • @vpoltave 致命错误:在展开可选值时意外发现 nil 2019-05-17 10:49:01.798202+0200 新闻 EI[2831:815672] 致命错误:在展开可选值时意外发现 nil价值
  • 你必须使用 if let 来获取媒体缩略图然后迭代或者只获取 lastObject 或 firstObject。
  • @vadian 编辑我的问题。感谢您的观察和抱歉

标签: ios swift iphone xcode


【解决方案1】:

您似乎启用了异常断点。一旦抛出错误,这将暂停执行。就像您在代码的这一点设置断点一样。
您可以 (1) 禁用它或 (2) 按“继续”继续崩溃并获取调试器输出。

【讨论】:

  • 致命错误:在展开可选值时意外发现 nil 2019-05-17 10:49:01.798202+0200 News EI[2831:815672] 致命错误:在展开可选值时意外发现 nil (我插入!)
【解决方案2】:

应避免强制展开。在您的循环中,您强制解开 feedItem.categories 和 feedItem.media?.mediaThumbnails。如果这些是可选的,那么应该有一些原因。您应该首先使用 guard 或 if let 语句,这样您就可以确定它们不是 nil 并且能够随心所欲地使用它们。您可以阅读here 了解更多关于如何安全展开的信息。

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2013-05-11
    • 2011-08-19
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 2013-05-23
    • 2021-08-11
    • 1970-01-01
    相关资源
    最近更新 更多