Причина появления ошибки «неразрешенный идентификатор» в том, что переменная player
не определена в методе playSound()
. В языке Swift каждое объявление переменной имеет специфицированную c «область», и к ним нельзя получить доступ за пределами этой области.
В этом случае player
определяется как переменная-член в BeaconDetector
учебный класс. Поскольку метод playSound()
не находится в той же переменной "scope", вы получаете эту ошибку при попытке доступа к переменной.
Возможно, вы захотите прочитать этот учебник о том, как переменная Объем работ в Свифте.