【发布时间】:2015-04-04 19:34:42
【问题描述】:
任务很简单:我需要创建将所有内容委托给被包装对象的包装器。只有包装对象的类型是包含可选方法的协议。我的包装器是实现相同的协议。
如何处理可选方法?我可以:
- 我可以在我的包装器中实现它们。但是,如果它们不是由被包装的对象实现的,我应该从这个实现中返回什么?
- 不实施它们。在这种情况下,包装对象将不会提供包装对象的一些我不想要的功能。
还有更好的选择吗?请注意,我正在使用 Swift。
【问题讨论】:
-
我很确定你不能在 Swift 中做到这一点,你需要 Obj-C,尤其是访问
NSInvocation。或者只是忽略可选方法,因为无论如何都有 Obj-C 功能。它们不存在于纯 Swift 中。 -
我知道this answer 是Objective-C,但为了清楚起见,您是否尝试在Swift 中完成类似的事情?
标签: swift wrapper swift-protocols