Как уже отмечали другие, вы получаете доступ к членам коллекции с помощью подписок, которые вызываются с помощью []
, а не ()
(для обычных вызовов функций).
Вы можете упростить этот код совсем немного, кстати:
import UIKit
struct Ficha {
var numero: Int
var ladoA = 0
var ladoB = 0
}
extension Ficha: CustomStringConvertible {
var description: String {
return "f\(numero) \(ladoA)/\(ladoB)"
}
}
func calculateDset() -> [Ficha] {
let xyPairs = (0...6).flatMap { x in
(x...6).map { y in (x: x, y: y) }
}
return zip(1..., xyPairs)
.map { (fichanum, pair) in
return Ficha(numero: fichanum, ladoA: pair.x, ladoB: pair.y)
}
.shuffled()
}
let dSet = calculateDset()
print(dSet[2])
- UIKit уже импортирует Foundation
- Сделайте функции возвращающими значения, не устанавливайте их напрямую.
- Не установлен начальные значения переменных, только для немедленной перезаписи их чем-то другим.
- rSet, fj, x1 и ficha1 не используются, удалите их.