Подтвердить что ты не робот

Быстрое неверное исправление

func dropShape() {
        if let shape = fallingShape {
            while detectIllegalPlacement() == false {
                shape.lowerShapeByOneRow()
            }
            shape.raiseShapeByOneRow()
            delegate?.gameShapeDidDrop(self)
        }
    }

Привет, я беру это недопустимое обновление "dropShape()", так что я ошибся. Может кто-нибудь помочь мне

4b9b3361

Ответ 1

Это сообщение об ошибке означает, что вы создали две функции с тем же именем.

enter image description here

Вы не можете использовать одно и то же имя и одну и ту же подпись для функции. Да функция перегрузки есть, и это означает, что вы можете использовать одно и то же имя с разными параметрами. Вы можете создать столько функций, сколько хотите, используя одно и то же имя. Правило большого пальца - каждая функция перегрузки должна иметь разные параметры.

Пример:

func dropShape() {        
}

func dropShape(points: CGPoint) {        
}

Ответ 2

У меня была такая же проблема, я решил ее, удалив дополнительный файл в источниках компиляции.

  • Перейдите в корневой каталог проекта.
  • Перейдите к Фазы сборки.
  • Нажмите Скомпилировать источники, проверьте файл, который был добавлен дважды, и удалите один из них.

Это должно решить вашу проблему.

Ответ 3

У меня было это точное сообщение об ошибке прямо сейчас. Для меня это был конфликт классов и структур.

Для любых двух деклараций типов в той же области видимости вы получите ошибку, например. если вы используете какой-либо из объявлений любого из двух типов ниже, вы получите сообщение об ошибке

class employee{...}
struct employee{...}
func employee(){...}
protocol employee{...}

Это не только для классов, структур или func, это для всего, потому что func s, struct s, enum s, protocol все Граждане первого класса в Swift

Ответ 4

Эта ошибка возникает, когда вы не импортируете UIKit, а имя класса должно быть уникальным, поэтому обязательно добавьте import UIKit а функции или класс имеют уникальное имя.