我有一个叫做SomeProtocol
的协议,并且很少有符合它的结构
struct myStruct1: SomeProtocol {}
struct myStruct2: SomeProtocol {}
我有地图
var myArray = [String : SomeProtocol]()
当我尝试
myArray = ["val1": myStruct1(), "val2": myStruct2()]
我收到一个错误:
Swift无法分配类型[String:SomeProtocol]的值来键入 [String:SomeProtocol]
答案 0 :(得分:0)
正如Hamish在评论中所述: 发生这种情况是因为项目中有SomeProtocol的两个定义。
要解决此问题,您只需重命名其中一个协议即可。