如果导入obj-c,则可以执行以前的操作。
否则,很难,因为协议并不以相同的方式存在。考虑您工厂的基于注册的系统。您的每个类都将通过提供一个函数或闭包来注册自己,该函数或闭包可被调用以返回该类的新实例,并且注册是针对字符串或某种其他类型的标识符的。这是拥有协议类型的好地方,但是在obj-
c中,您实际上是在使用字符串转换来做同样的事情。您可以针对任何
Equatable保持通用性的东西进行注册。

如果导入obj-c,则可以执行以前的操作。
否则,很难,因为协议并不以相同的方式存在。考虑您工厂的基于注册的系统。您的每个类都将通过提供一个函数或闭包来注册自己,该函数或闭包可被调用以返回该类的新实例,并且注册是针对字符串或某种其他类型的标识符的。这是拥有协议类型的好地方,但是在obj-
c中,您实际上是在使用字符串转换来做同样的事情。您可以针对任何
Equatable保持通用性的东西进行注册。