Передать словарь в метод init - PullRequest
0 голосов
/ 16 мая 2018

Я определил словарь так:

var seats = [String: [String:Bool]]()

Как бы я передал тип мест (который равен [String: [String:Bool]]()) методу init моего класса?

Я пытался:

init(initSeats : [String: [String:Bool]]()) {
    //code
}  

Не компилируется и выдает ошибку:

Ожидаемый ',' разделитель

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Тип: [String: [String:Bool]]

Таким образом, вы бы использовали

init(initSeats: [String: [String:Bool]]) {
   // your init code
}

Но если вы собираетесь использовать это много, было бы лучше typealias чтобы было легче набирать текст и запоминать.

typealias SeatType = [String: [String:Bool]]

var seats = SeatType()

init(initSeats : SeatType) {
    //code
}
0 голосов
/ 16 мая 2018

Определение функции должно просто включать тип, а не экземпляр типа.Правильная версия будет:

init(initSeats : [String: [String:Bool]]) {
    //code
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...