【问题标题】:Why do I get "'UIView' does not have a member named 'image'" and how can I fix it?为什么我会得到“'UIView' 没有名为 'image' 的成员”,我该如何解决?
【发布时间】:2016-01-10 01:57:49
【问题描述】:
  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let myCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! cell

    myCell.postedImage.image = UIImage(named: "placeholderimage.png")

    myCell.username.text = "User 123"

    myCell.message.text = "Message"

    return myCell
  }

上面写着:

myCell.postedImage.image = UIImage(named: "placeholderimage.png"),

我收到错误消息:“'UIView' 没有名为 'image' 的成员”。

为什么会这样,我该如何解决?

【问题讨论】:

  • 我不使用UITableView,但我猜可能是postedImage 可选?所以你需要添加!让它工作 myCell.postedImage!.image = UIImage(named: "placeholderimage.png")
  • postedImage 是如何声明的?
  • 确保在自定义类“cell”中声明了postedImage变量。
  • postedImage 在单元格类中声明如下: IBOutlet 弱变量用户名:UILabel! IBOutlet 弱变量消息:UILabel! }
  • 我是否正确声明了它,如果是,为什么会出现错误?

标签: swift error-handling


【解决方案1】:

您的插座被声明为类型

IBOutlet weak var postedImage: UIView!

您正在尝试访问 UIView 上的属性 image,该属性不存在因此编译器警告。

作为粗略的猜测,您需要正确定义 postedImage 的含义

IBOutlet weak var postedImage: UIImageView!

但您也可能将错误类型的对象 UIView 放入您的 XIB,在这种情况下,您需要先修复它。

【讨论】:

  • 我为什么要定义正确的postedImage?
猜你喜欢
  • 1970-01-01
  • 2017-06-19
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 2012-12-03
相关资源
最近更新 更多