Я разрабатываю тетрис в SpriteKit и получаю странную ошибку - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь разработать тетрис в SpriteKit. Вот мой код:

class Array2D<T> {
    let column: Int
    let row: Int
    // #2 
    var array: Array<T?>

    init(column: Int, row: Int) {
        self.column = column
        self.row = row

        // #3
        array = Array<T?>(count:row * column, repeatedValue: nil)
    }

    // #4
    subscript(columns: Int, rows: Int) -> T? {
        get {
            return array[(rows * column) + columns]
        }
        set(newValue) {
            array[(rows * column) + columns] = newValue
        }
    }
}

Моя ошибка появляется в этой строке:

 array = Array<T?>(count:row * column, repeatedValue: nil)

И это ошибка:

Неправильные метки аргумента ввызов (иметь 'count: repeatValue:', ожидаемый 'unsafeUninitializedCapacity: initializingWith:')

Заменить 'count: row * column, repeatValue' на 'unsafeUninitializedCapacity: row * column, initializingWith'

Кто-нибудь знает, как я могу это исправить?

1 Ответ

0 голосов
/ 17 октября 2019

Инициализатор массива, который вы ищете: init(repeating:count:).

Заменить:

array = Array<T?>(count:row * column, repeatedValue: nil)

на:

array = Array<T?>(repeating: nil, count:row * column)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...