#swift #model
#swift #Модель
Вопрос:
У меня есть эта модель:
struct ModelGlider {
static var arr_Glider2DT:[[//Array 2D with Tuple
(
gliderSeats:Int,
gliderMass :Double,
gliderName :String
)
]] = [[]] //empty Array 2DT
init(arr_Glider2DT:
[[
(
gliderSeats:Int,
gliderMass :Double,
gliderName :String
)
]]
){ModelGlider.arr_Glider2DT = arr_Glider2DT}
}
В функции я хотел бы использовать информацию о модели в качестве входных и возвращаемых параметров.
Вместо:
func searchGlidersForString(
searchString:String,
inputArr2DT :[[
(
gliderSeats:Int,
gliderMass :Double,
gliderName :String
)
]]) -> [[
(
gliderSeats:Int,
gliderMass :Double,
gliderName :String
)
]]
{
//do some stuff
return ...
}
Я бы предпочел что-то вроде:
func searchGlidersForString(
searchString:String,
inputArr2DT : ModelGlider.arr_Glider2DT) -> ModelGlider.arr_Glider2DT
{
//do some stuff
return ….
}
Это смущает, но я не могу понять, чего мне не хватает. Есть предложения?
Ответ №1:
Вы можете указать пользовательский typealias
:
typealias ArrGlider2DT = [[ // Array 2D with Tuple
(
gliderSeats: Int,
gliderMass: Double,
gliderName: String
)
]]
и используйте это так:
struct ModelGlider {
static var arr_Glider2DT: ArrGlider2DT = [[]] // empty Array 2DT
init(arr_Glider2DT: ArrGlider2DT) {
Self.arr_Glider2DT = arr_Glider2DT
}
}
func searchGlidersForString(
searchString: String,
inputArr2DT: ArrGlider2DT
) -> ArrGlider2DT {
// do some stuff
return ...
}