Arrays 访问元组数组Swift 4

Arrays 访问元组数组Swift 4,arrays,swift,tuples,core-location,Arrays,Swift,Tuples,Core Location,我试图为自定义集合视图单元格的某些组件赋值。该数组与自定义集合视图单元格位于同一个类中,但我无法通过seam访问该数组。如有任何建议,将不胜感激 import UIKit import CoreLocation class eventCell: UICollectionViewCell { @IBOutlet private weak var eventTitle: UILabel! @IBOutlet private weak var descriptionLabel:UIL

我试图为自定义集合视图单元格的某些组件赋值。该数组与自定义集合视图单元格位于同一个类中,但我无法通过seam访问该数组。如有任何建议,将不胜感激

import UIKit
import CoreLocation
class eventCell: UICollectionViewCell {

    @IBOutlet private weak var eventTitle: UILabel!
    @IBOutlet private weak var descriptionLabel:UILabel!
    @IBOutlet private weak var eventImage: UIImageView!

    var eventArray = [(title:String, location:String, lat:CLLocationDegrees, long:CLLocationDegrees)]()   

    override func prepareForReuse() {
        eventImage.image = nil
    }

    func lool() {
        eventTitle.text = eventArray.title
    }
}
然而,当我尝试添加标题时,我总是会遇到这个错误:

类型“[(title:String,location:String,lat:CLLocationDegrees,long:CLLocationDegrees)]”(也称为“数组”)的值没有成员“title”


任何帮助都会很好,提前谢谢

为什么不创建一些
Struct
? 简单地说:

struct Event {
   var title: String
   var location: String
   var lat: CLLocationDegrees
   var long: CLLocationDegrees
}
class eventCell: UICollectionViewCell {
    @IBOutlet private weak var eventTitle: UILabel!
    @IBOutlet private weak var descriptionLabel:UILabel!
    @IBOutlet private weak var eventImage: UIImageView!

    typealias Event = (title:String, location:String, lat:CLLocationDegrees, long:CLLocationDegrees)

    var eventArray = [Event]()


    override func prepareForReuse() {
        eventImage.image = nil
    }

    func lool() {
        var event = Event(title: "a", location:"b", lat:5, long:4)
        eventArray.append(event)
        eventTitle.text = eventArray[0].title
    }
}
那么就这么做吧:

var eventArray = [Event]()
这样称呼它:

for event in eventArray{
  event.title = eventTitle.text
}

你应该这样做:

struct Event {
   var title: String
   var location: String
   var lat: CLLocationDegrees
   var long: CLLocationDegrees
}
class eventCell: UICollectionViewCell {
    @IBOutlet private weak var eventTitle: UILabel!
    @IBOutlet private weak var descriptionLabel:UILabel!
    @IBOutlet private weak var eventImage: UIImageView!

    typealias Event = (title:String, location:String, lat:CLLocationDegrees, long:CLLocationDegrees)

    var eventArray = [Event]()


    override func prepareForReuse() {
        eventImage.image = nil
    }

    func lool() {
        var event = Event(title: "a", location:"b", lat:5, long:4)
        eventArray.append(event)
        eventTitle.text = eventArray[0].title
    }
}

eventArray
是数组,因此如果您想访问title,请尝试
eventArray[index]。title
确切地说,您应该只向单个事件单元格添加一个事件,而不是整个事件数组。@Sulthan但是如果我想循环数组中的所有事件,该怎么办?我该怎么做?@RoryRozzerHodgson这就是
UICollectionView
所做的。啊,好吧,我现在就试试,很抱歉问了noob问题,hahaThis和问题中的代码有同样的问题
eventArray
是一个数组,它没有
title
属性。如果他只想要一个事件,他可以这样做:
var eventArray=event()
,如果他想要一个以上的事件,他无论如何都需要创建一些带有索引的数组,但这样可以更容易地在另一个类中恢复数据。