【发布时间】:2018-03-30 00:21:41
【问题描述】:
public func setHtmlBody(_ body: String, bounds: CGRect = UIScreen.main.bounds) -> String {
let font = "-apple-system"
let fontSize = 19
let fontColor = "#000000"
let lineHeight = 25
let imageWidth = bounds.width - 40
let margin = 20
let codeStyle = "pre[class*=\"language-\"]{background:white;border-radius:14px;color:black;display:block;font-size:16px;font-weight:500;padding:20px;overflow-x:auto;white-space:pre-wrap;line-height:130%;}pre.language-coffeescript .token.comment{color:#6a7576}pre.language-coffeescript .token.string{color:#8ADC64}pre.language-coffeescript .token.number,pre.language-coffeescript .token.operator{color:#a580f8}pre.language-coffeescript .token.keyword,pre.language-coffeescript .token.class-name,pre.language-coffeescript .token.function{color:#8df}pre.language-swift .token.comment{color:#690}pre.language-swift .token.string{color:#ee433f}pre.language-swift .token.keyword{color:#C945A7}pre.language-swift .token.number,pre.language-swift .token.function,pre.language-swift .token.builtin,pre.language-swift .token.class-name{color:#5C2699}"
let htmlString = "<style>p, li { font-family:\"\(font)\"; color: \(fontColor); font-size:\(fontSize)px; line-height:\(lineHeight)px } p { margin: \(margin)px 0; } img { max-width: \(imageWidth)px; } #p { font-weight: bold; font-size: 24px; line-height: 130%; margin: 50px 20px; } ul li, ol li { margin: 20px 0; font-weight: bold; } \(codeStyle)</style>\(body)"
return htmlString
}
我正在使用 swift 3。为什么该函数将我返回为 Nil?
签名:
bodyAttributedString = setHtmlBody(sectionBody).htmlToAttributedString
【问题讨论】:
-
你的函数返回
String,而不是String?。所以它不能为零 -
bodyAttributedString = setHtmlBody(sectionBody).htmlToAttributedString,在这种情况下,没有
-
什么是
htmlToAttributedString?这不是标准库或基金会、AFAIK 中String的属性。
标签: ios swift string xcode swift3