TL; DR :
Как переменная NSObject
s self
получает тип (T) -> () -> T
?
Примечания
Я понимаю почему использование self
таким способом незаконно. Но я пытаюсь разобраться во втором сообщении об ошибке.
Код
struct DummyStorer {
let dummy: Dummy
}
struct Dummy {
let storer = DummyStorer(dummy: self)
// Use of unresolved identifier 'self'
// OK, that's reasonable. But...
}
class Dummy : NSObject {
let storer = DummyStorer(dummy: self)
// Cannot convert value of type '(Dummy) -> () -> Dummy' to expected argument type 'Dummy'
// ... how does the compiler arrive at this?
}