метка swift — ячейки.текст необязателен

#swift

#swift

Вопрос:

У меня все label в моем tableViewCell отображено правильно, но только мой вывод attributeString равен « optional(1) «

      let mString = String(self.productList?["market_price"].int)
     let attributeString: NSMutableAttributedString =  NSMutableAttributedString(string: mString)
     attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, rnge: NSMakeRange(0, attributeString.length))
     attributeString.addAttribute(NSStrikethroughColorAttributeName, value: UIColor.lightGrayColor(), range: NSMakeRange(0, attributeString.length))
     self.marketPriceLabel.attributedText = attributeString
  

Комментарии:

1. Причина, вероятно, в таинственной .int функции, которая, по-видимому, возвращает необязательное значение, а String инициализатор обрабатывает необязательное значение буквально. Результат productList?["market_price"] в любом случае является необязательным.

Ответ №1:

Я нашел решение.

 let mInt: Int = (self.productList?["market_price"].int)!
let mString: String = String(mInt)
let attributeString: NSMutableAttributedString =  NSMutableAttributedString(string: mString)
attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, rnge: NSMakeRange(0, attributeString.length))
attributeString.addAttribute(NSStrikethroughColorAttributeName, value: UIColor.lightGrayColor(), range: NSMakeRange(0, attributeString.length))
self.marketPriceLabel.attributedText = attributeString