Encuentre un elemento y cambie el valor en una matriz de objects personalizados – Swift

Tengo esta class

class InboxInterests { var title = "" var eventID = 0 var count = "" var added = 0 init(title : String, eventID : NSInteger, count: String, added : NSInteger) { self.title = title self.eventID = eventID self.count = count self.added = added } } 

Y lo uso así

 var array: [InboxInterests] = [InboxInterests]() 

Añadir artículo

 let post = InboxInterests(title: "test",eventID : 1, count: "test", added: 0) self.array.append(post) 

Deseo encontrar el índice por key eventID y cambiar el valor de la key added en el mismo índice

¿Cómo es eso posible?

Use el filter y primero para encontrar el valor:

 array.filter({$0.eventID == id}).first?.added = value 

En esto, usted: – filtra la matriz hasta elementos que coinciden con la ID de evento – elige el primer resultado, si hay alguno, y luego establece el valor

EDIT: en Swift 3 puedes salvarte un par de personajes

 array.first({$0.eventID == id})?.added = value