2015-05-15 2 views
0

[Разработка для прошивкой с помощью Swift]Set PFQueryTableViewCell ImageView в качестве локального изображения

Я потянув данные из анализа и заселять PFQueryTableView с ним, и на основе одного из значений PFObjects, которые я использую для заполнения tableView, я хотел бы установить imageView ячейки в изображение, сохраненное локально в моих Xcode images.xcassets.

Это мой код:

// Set cells for each row of table 
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? { 

    var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! PFTableViewCell! 
    if cell == nil { 
     cell = PFTableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell") 
    } 

    // Set image as read/unread 

    if let readStatus = object!["readStatus"] as? String { 

     if readStatus == "unread" { 
      cell.imageView?.image = UIImage(named: "unreadImage") 
     } else if readStatus == "read" { 
      cell.imageView?.image = UIImage(named: "readImage") 
     } 

    } 

    return cell 

} 

Но это не установлено изображение ...

Если изменить эту строку с! после того, как ImageView (вроде так): cell.imageView!.image = UIImage(named: "readImage")

Я получаю ошибку:

fatal error: unexpectedly found nil while unwrapping an Optional value 

Так как я могу установить изображение ячейки на основе значения Разбор (но я хочу, чтобы изображение было локальное изображение)

ответ

1

Что-то не так с вашим клеточным объектом. Прежде всего, вам не нужен знак ! в конце. Вы должны иметь это так:

let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! PFTableViewCell 

В Xcode 6.3 и Swift 1.2 Ваша следующая строка не будет компилироваться, так как вы проверяете на ноль то, что не может быть нулевым - вы не сила разворачивает клетки, так что больше не является необязательно, и вам не нужно проверять нуль.

Итак, удалите строки if cell == nil и проверьте, правильно ли установлена ​​ваша ячейка в IB (проверьте, установлен ли вы идентификатор).

+0

Итак, это похоже на работу хорошо, за исключением того, что изображение, установленное в изображении, растягивается странно .... – Max

+0

Вы можете попробовать что-то вроде этого: 'cell.imageView.contentMode = UIViewContentMode.ScaleAspectFit' –

Смежные вопросы