Swift 无法将类型 [String : SomeProtocol] 的值分配给类型 [String : SomeProtocol]
Swift cannot assign value of type [String : SomeProtocol] to type [String : SomeProtocol]
我有一些名为 SomeProtocol
的协议,很少有符合它的结构
struct myStruct1: SomeProtocol {}
struct myStruct2: SomeProtocol {}
我有地图
var myArray = [String : SomeProtocol]()
当我尝试
myArray = ["val1": myStruct1(), "val2": myStruct2()]
我收到一个错误:
Swift cannot assign value of type [String : SomeProtocol] to type
[String : SomeProtocol]
正如 Hamish 在评论中提到的那样:
这是因为项目中有两个 SomeProtocol 的定义。
要解决此问题,您只需重命名其中一个协议即可。
我有一些名为 SomeProtocol
的协议,很少有符合它的结构
struct myStruct1: SomeProtocol {}
struct myStruct2: SomeProtocol {}
我有地图
var myArray = [String : SomeProtocol]()
当我尝试
myArray = ["val1": myStruct1(), "val2": myStruct2()]
我收到一个错误:
Swift cannot assign value of type [String : SomeProtocol] to type [String : SomeProtocol]
正如 Hamish 在评论中提到的那样: 这是因为项目中有两个 SomeProtocol 的定义。
要解决此问题,您只需重命名其中一个协议即可。