Ошибка: переменная используется в своем собственном начальном значении с функцией type (of :) - PullRequest
0 голосов
/ 03 мая 2018

В стандарте Swift документ от Apple:

func printInfo(_ value: Any) {
   let type = type(of: value)
   print("'\(value)' of type '\(type)'")
}

и выдает ошибку: Переменная используется внутри собственного начального значения

enter image description here

Как я могу это исправить с помощью Swift 4.1?

1 Ответ

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

Это ошибка документации. Раньше эта функция была typeOf. Последняя версия (не помню какая) переименовала ее в type. Компилятор путается между type локальной переменной и type функцией в стандартной библиотеке Swift.

Используйте другое имя для локальной переменной:

func printInfo(_ value: Any) {
   let t = type(of: value)
   print("'\(value)' of type '\(t)'")
}

Или явно обратиться к функции:

func printInfo(_ value: Any) {
   let type = Swift.type(of: value)
   print("'\(value)' of type '\(type)'")
}
...