Arrays 无法将类型()转换为类型AnnotationView

Arrays 无法将类型()转换为类型AnnotationView,arrays,swift,didselectrowatindexpath,Arrays,Swift,Didselectrowatindexpath,仔细研究之后,如果我想将tableView indexPath与注释数组关联起来,我必须检查类似的特性。因此,我决定检查Pin数组(属于Pin类)是否有一个标题等于所选tableCell名称的Pin 但是,每当我这样设置我的函数时: func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let restaurant = restaurantArray[indexPath.row]

仔细研究之后,如果我想将tableView indexPath与注释数组关联起来,我必须检查类似的特性。因此,我决定检查Pin数组(属于Pin类)是否有一个标题等于所选tableCell名称的Pin

但是,每当我这样设置我的函数时:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let restaurant = restaurantArray[indexPath.row]
    let restaurantName = restaurant.value(forKey: "Name") as!String ?
      if pinArray.contains(pin.title = restaurantName) {
      print("Found")
    }
    else {
      print("Nope")
    }
}

我无法查看Pin数组是否包含标题等于restaurantName的Pin。无论是bool、optionals还是其他方面的问题,我仍在试图找出如何找到与restaurantName同名的pin。

您能描述一下您上下文中
restaurantArray
pinArray
的类型吗?restaurantArray充满了CKRecords,pinArray通过pin类充满了mkAnnotation。它应该是
pinArray.contains(其中:{$0.title=restaurantName}
。但是不再需要这些代码了。你最好显示你真正想对所有相关代码做什么,而不是用错误的解决方案显示一些小部分。你把赋值(
=
)和相等(
=
)运算符:
如果pinArray.contains(其中:{$0.title==restaurantName})
。强制将可选项展开为可选项是毫无意义的
值(forKey:“Name”)as!String
。真棒。剩下的两个问题-0美元是什么?它的用途是什么?我最近才看到/遇到过它。其次,我如何使用与实际if语句中restaurantName相等的pin?