2016-10-04 73 views
-1

我在tableViewCell正确显示每label,但只有我attributeString输出为“optional(1)迅速 - 细胞label.text是可选

 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”]'的结果是可选的。 – vadian

回答

0

我找到了解决办法。

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