Ну, экземпляр Class
не является Array
, поэтому вы не можете получить доступ к Array
functions
, однако вы можете использовать пользовательский func
внутри, чтобы получить большее значение.
что-то вроде этого вариант.
class Example: Codable {
// Variables
var value1: Int
var value2: Int
// Init
init(_value1: Int, _value2: Int) {
value1 = _value1
value2 = _value2
}
func max() -> Int {
if value1 > value2 {
return value1
}
return value2
}
}
// USAGE
var example = Example(_value1: 10, _value2: 20)
example.max()
ОБНОВЛЕНИЕ: как указал ОП, ему нужно сравнить только первое значение.
отредактируйте ответ @Ashley, это решит проблему
при .max()
вернет object
, содержащее самое высокое Value1
.
struct Example: Codable, Comparable {
static func < (lhs: Example, rhs: Example) -> Bool {
return lhs.value1 < rhs.value1
}
// Variables
var value1: Int
var value2: Int
// Init
init(_ value1: Int, _ value2: Int) {
self.value1 = value1
self.value2 = value2
}
}
let array2 = [Example(1, 4), Example(2,3)]
print(array2.max()?.value1)