无法用字符串替换字符串

时间:2015-11-21 13:50:28

标签: ios string swift

我有UITableViewCell detailTextLabel,其中包含我想用空格替换的字符串(换句话说要删除)。它看起来像这样:

cell.detailTextLabel?.text = newsModel.pubDate

现在,问题在于我写cell.detailTextLabel?.text?.stringByReplacingOccurrencesOfString("+0000", withString: " ")

它没有用,编译器说:

  

"通话结果   ' stringByReplacingOccurrencesOfString(_:withString:选择:范围:)'是   未使用"

任何人都能告诉我解决方案吗? 感谢

1 个答案:

答案 0 :(得分:4)

stringByReplacingOccurencesOfString:withString:方法返回一个字符串,该字符串是用替换替换搜索字符串的结果。警告意味着您正在调用一个非空的返回值的方法,而您没有使用该方法。

来自documentation(由我强调的斜体字)

  

返回 new 字符串,其中接收方中所有出现的目标字符串都被另一个给定字符串替换。

您可以使用:

cell.detailTextLabel?.text = newsModel.pubDate.stringByReplacingOccurrencesOfString("+0000", withString: " ")

您收到此警告的原因是因为该方法无法修改原始字符串而返回 字符串,您不会使用该字符串。如果您要使用

cell.detailTextLabel?.text? = cell.detailTextLabel?.text?.stringByReplacingOccurrencesOfString("+0000", withString: " ")

您不会收到警告,因为您要将返回值分配给单元格文本,因此"使用"通话结果。

这两种方法完全相同,只有一种方法更短。