数组计数减去数组计数
Posted
技术标签:
【中文标题】数组计数减去数组计数【英文标题】:Array count minus array count 【发布时间】:2016-04-12 08:34:36 【问题描述】:如何显示?我有两个这样的数组:
var likedBy = [NSArray]()
var dislikedBy = [NSArray]()
我正在尝试将计数作为 UITextLabel 上的字符串,如下所示:
imageCell.likeLabel.text = self.likedBy.count - self.dislikedBy.count
但我得到错误:
没有“-”候选产生预期的上下文结果类型 “字符串?”
有什么建议吗?
【问题讨论】:
字符串(self.likedBy.count - self.dislikedBy.count) 提示:计数是一个数字,文本是一个字符串。 建议#1:阅读错误信息。 – 建议 #2:如果您遇到不理解的编译器错误,请将表达式拆分 为多个语句:let diff = self.likedBy.count - self.dislikedBy.count; imageCell.likeLabel.text = diff
。您现在应该看到问题了!
【参考方案1】:
您应该对\()
使用字符串插值,因为count
属性返回Int
,并且您需要String
来设置text
属性:
imageCell.likeLabel.text = "\(self.likedBy.count - self.dislikedBy.count)"
【讨论】:
谢谢!快速提问 - 在cellForItemAtIndexPath
中 - indexPath.row 和 indexPath.item 有什么区别?
item
:标识集合视图部分中的项目的索引号。
浏览 ***.com/a/14765781/2035845 以获取有关 indexpath.item 与 indexpath.row 的更多信息!!【参考方案2】:
换行
imageCell.likeLabel.text = "\(self.likedBy.count - self.dislikedBy.count)"
【讨论】:
【参考方案3】:您可能还想在 NSArray 上编写一个扩展来提供元素计数差异,这样您的代码就更简洁了,并且职责位于正确的位置。例如,您的主要代码流对计算两个数组计数之间的差异不感兴趣,它想知道在减去不喜欢之后还剩下多少喜欢。
extension NSArray
func elementCountDiff(array: NSArray) -> Int
return self.count - array.count
...
imageCell.likeLabel.text = String(self.likedBy.elementCountDiff(self.dislikedBy))
【讨论】:
以上是关于数组计数减去数组计数的主要内容,如果未能解决你的问题,请参考以下文章