#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