Ios 快速将HTML添加到UIWebView,表达式太复杂
我正在向UIWebView添加一些HTML内容 这一行:Ios 快速将HTML添加到UIWebView,表达式太复杂,ios,swift,Ios,Swift,我正在向UIWebView添加一些HTML内容 这一行: generatedHtml += "<br><p style=\"font-family:'Chevin-Medium';font-size:12px;color:#505050;padding-top:0px;\">" + newsItem.entry.likes + " like this " + newsItem.entry.comments?.count + " comments</p>" 我
generatedHtml += "<br><p style=\"font-family:'Chevin-Medium';font-size:12px;color:#505050;padding-top:0px;\">" + newsItem.entry.likes + " like this " + newsItem.entry.comments?.count + " comments</p>"
我只是在对数组进行计数,我不知道如何使它不那么复杂
该对象如下所示:
public class NewsItem: NSObject {
var entry: EntryObject = EntryObject()
}
public class EntryObject: NSObject {
var comments: [Comment]? = []
}
newsItem.entry.comments?.count
是一个整数,您不能使用+
将整数添加到字符串中,您应该使用字符串插值和\()
:
如果错误“太复杂”仍然存在,您将不得不分解语句并使用变量,而不是直接插入表达式。尝试通过这种方式执行此操作
var countComments : Int = 0
//Validate comment counting
if let cComments = newsItem.entry.comments?.count
{
countComments = cComments
}
//... Some code here ...
//Devide to Conquest.
//If is easy to find... Is not hard to fix
generatedHtml += "<br>"
generatedHtml += "<p style=\"font-family:'Chevin-Medium';font-size:12px;color:#505050;padding-top:0px;\">"
generatedHtml += "\(newsItem.entry.likes) "
generatedHtml += "like this \(countComments) comments" //Here you have a valid value
genetatedHtml += "</p>"
var countComments:Int=0
//验证注释计数
如果let cComments=newItem.entry.comments?.count
{
countComments=cComments
}
//... 这里有一些代码。。。
//决心征服。
//如果很容易找到。。。这并不难解决
生成的HTML+=“
”
generatedHtml+=“"
generatedHtml+=“\(newsItem.entry.likes)”
generatedHtml+=“like this\(countComments)comments”//这里有一个有效值
genetatedHtml+=“
”
但是,为什么
可能您对可选值newsItem.entry.comments?.count有问题,该值可以为零。然后,首先,验证值并确定返回的内容。优于“0”,这是一个有效值,而不是nil
分割字符串创建时,调试工作将更容易执行。您可以更好地了解错误发生的位置
也许这不是你问题的最终解决方案,而是帮助你解决问题的好方法
" like this \(newsItem.entry.comments?.count) comments</p>"
" like this " + String(newsItem.entry.comments?.count) + " comments</p>"
var countComments : Int = 0
//Validate comment counting
if let cComments = newsItem.entry.comments?.count
{
countComments = cComments
}
//... Some code here ...
//Devide to Conquest.
//If is easy to find... Is not hard to fix
generatedHtml += "<br>"
generatedHtml += "<p style=\"font-family:'Chevin-Medium';font-size:12px;color:#505050;padding-top:0px;\">"
generatedHtml += "\(newsItem.entry.likes) "
generatedHtml += "like this \(countComments) comments" //Here you have a valid value
genetatedHtml += "</p>"