如何在 Objective-C 中模拟双重调度
How to Emulate Double Dispatch in Objective-C
我正在尝试在 Objective-C 中模拟 Double Dispatch。
我知道 Objective-C 不支持 function/method 重载。但是你能效仿吗?
任何想法。
您可以像在 C++/C# 中一样使用 2 个单次调度(也称为 "visitor" 模式,请参阅 https://en.wikipedia.org/wiki/Double_dispatch#Double_dispatch_in_C++)。
或者您可以通过对参数进行一些运行时类型检查来手动执行此操作(请参阅 isMemberOfClass)。
在此 repo 中举例说明如何在 Objective-C
中实施 Double Dispatch
我正在尝试在 Objective-C 中模拟 Double Dispatch。
我知道 Objective-C 不支持 function/method 重载。但是你能效仿吗?
任何想法。
您可以像在 C++/C# 中一样使用 2 个单次调度(也称为 "visitor" 模式,请参阅 https://en.wikipedia.org/wiki/Double_dispatch#Double_dispatch_in_C++)。
或者您可以通过对参数进行一些运行时类型检查来手动执行此操作(请参阅 isMemberOfClass)。
在此 repo 中举例说明如何在 Objective-C
Double Dispatch