【发布时间】:2026-02-08 20:00:01
【问题描述】:
在 Swift 中如何声明一个符合协议的变量(或常量)?
我试过了
let whatever: protocol <myProtocol>
和
let whatever: myProtocol
但是设置的时候报错
Cannot convert the expression's type '()' to type 'myProtocol'
【问题讨论】:
-
你在哪里写这个?它在类型定义中吗?
-
似乎你遗漏了一些东西:当你“设置它”时你到底在做什么?
-
@Chuck 是的,它在表 VC 的类定义中(在 Obj-C 术语中,我想要对符合协议的属性的强引用,并且我想在我的 init 中初始化它)
-
@Yawar 我在做
self.whatever = ObjectThatConformsToMyProtocol() -
错误消息表明
ObjectThatConformsToMyProtocol()实际上不符合协议 :-) 检查该表达式以找出如何使其符合....