如何在swift中将图像添加到我的表格单元格?

时间:2016-02-21 02:00:53

标签: ios swift uitableview

我跟随this tutorial并且我为每个json条目创建了单元格。没有照片,一切正常:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCellWithIdentifier("CELL")

    if cell == nil {
        cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "CELL")
    }

    let user:JSON =  JSON(self.items[indexPath.row])
   // print(user)
    let picURL = "/Users/K/Desktop/aproject/apps/address/addr/Images.xcassets/TabMap.imageset/up_dark.png"//just for tests - some random png
    let url = NSURL(string: picURL)
    let data = NSData(contentsOfURL: url!)

    cell!.textLabel?.text = user["description"].string
 //   cell?.imageView?.image = UIImage(data: data!)

    return cell!
}

,但是当我添加照片时(取消注释此行):

cell?.imageView?.image = UIImage(data: data!)

然后我收到错误:

enter image description here

fatal error: unexpectedly found nil while unwrapping an Optional value

我的计划是传递一个网址而不是硬编码的照片(所以使用user["photo"]代替链接),但是对于测试我将网址粘贴到我的自定义图片。

如何在文字旁边添加?

2 个答案:

答案 0 :(得分:2)

一些事情:

为什么之前的行有" cell!"注释掉的行是" cell?"。另外,这是一个表视图子类吗?您确定您的imageView插座已连接吗?

更重要的是,您应该在加载图像数据时进行错误检查。

那是:

if let data = NSData(contentsOfURL: url!)
{
    cell!.imageView?.image = UIImage(data: data)
}

答案 1 :(得分:2)

对于本地图片:

cell!.imageView?.image = UIImage(named:"ImageName")