Код: Выделить всё
import SceneKit
let action = SCNAction.run { _ in
print("foo")
}
< /code>
Вот мой прогресс: < /p>
protocol RLAction {}
struct RLCallbackAction: RLAction {}
extension RLAction where Self == RLCallbackAction {
static func run() -> RLCallbackAction {
return RLCallbackAction()
}
}
< /code>
Тогда это работает < /p>
let action: RLAction = .run()
< /code>
Но это не удается: < /p>
let action = RLAction.run()
< /code>
С сообщением об ошибке: < /p>
Referencing static method 'run()' on 'RLAction' requires the types 'Self' and 'RLCallbackAction' be equivalent
< /code>
Я полностью понимаю, что могу просто сделать: < /p>
let action = RLCallbackAction.run()
Подробнее здесь: https://stackoverflow.com/questions/797 ... y-in-swift
Мобильная версия