【问题标题】:Ambiguous reference to member 'count'对成员“计数”的模糊引用
【发布时间】:2016-03-08 01:43:31
【问题描述】:

当我将当前的 Xcode (v 7.0.1) 项目迁移到 Xcode 7.1.1 时出现以下错误

  • 对成员“count”的引用不明确
  • 不能为“数组”类型的值下标

知道如何解决上述错误吗?

我的代码如下

  var arrOfRewardDetail : Array = [Dictionary<String, String>]()
  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) ->  Int {
    return arrOfRewardDetail.count //Ambiguous reference to member 'count'
}

 if self.arrOfRewardDetail[indexPath.row]["KEY"] == "Promotion By : "{} // Cannot subscript a value of type 'Array'

更新现在出现以下错误

  • 对成员“indexOf”的不明确引用 let indexOfEnum : Int = self.arrPromitionDetailEnum.indexOf(dictRewardInfo["r_promotion_detail_type"]!)!
  • 还有这个 let indexOfEnum : Int = self.arrPromitionDetailEnum.indexOf(dictInfo["r_promotion_detail_type"]!)! // Cannot subscript a value of type 'Array'

【问题讨论】:

  • 您是否尝试删除 :Array ?那将只剩下var arrOfRewardDetail = [Dictionary&lt;String, String&gt;]()

标签: ios arrays xcode swift swift2


【解决方案1】:

只需删除: Array 部分:

var arrOfRewardDetail = [Dictionary<String, String>]()

编译器会推断出正确的类型,即[Dictionary&lt;String, String&gt;],而不仅仅是Array

【讨论】:

  • @RahulMathur 删除自我。
  • 是的。谢谢你能解释错误的技术方面吗? Xcode 7.1.1 出了什么问题?
  • 关于:Array:Swift 1 对类型更加宽容。现在使用 Swift 2,编译器需要更多上下文,所以 Array 太模糊了,它需要数组的实际类型是 [[String:String]](字典数组)。关于self.:我不知道怎么用英文解释(这是@LeoDabus的提示,也许他可以解释给你)。
  • 内部视图控制器将引用视图控制器而不是数组
猜你喜欢
  • 1970-01-01
  • 2016-11-21
  • 1970-01-01
  • 2019-11-01
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多