【问题标题】:How to implement a C++ observer pattern in Objective C如何在 Objective C 中实现 C++ 观察者模式
【发布时间】:2011-12-05 07:19:08
【问题描述】:

我正在尝试为某些 C++ 类实现 Objective C 包装器。其中一个类实现了观察者模式,并且要求观察者是某种 C++ 类型(在接口中定义)。

我现在用 Google 搜索了一整天,但找不到与此问题相关的任何内容。如何使用 Objective C 类订阅这个 C++ 观察者模式?需要使用继承才能使其工作,但这显然不能工作,因为 Wrapper 是 Objective C 并且不能从 C++ 接口继承。

【问题讨论】:

  • 你不能。 Objective C 和 C++ 互不兼容。试试 Objective C++。
  • 您能添加一个观察者的用法示例吗?

标签: c++ objective-c interface observer-pattern


【解决方案1】:

为什么观察者需要从你的 obj-c 类继承? Objective-c 类的实例不能只有一个观察者转发到 Objective-c 对象吗?

【讨论】:

    【解决方案2】:

    需要使用继承才能使其工作,但这显然 无法工作,因为 Wrapper 是 Objective C 并且不能从 C++接口

    这是一个错误的陈述,包装器包装它们不继承。如果你需要使用 C++,你需要通过创建一个扩展名为 .mm 的文件来使用 Objective-C++。

    【讨论】:

    • > wrappers wrap 它们不继承 True,所以看来我需要创建另一个从接口继承的 C++ 类并 Wrap 那个?
    • 是的,如果需要继承,那么您需要继承另一个 C++ 类,然后如果您想要一个调用继承类的 Objective-C 包装器。
    猜你喜欢
    • 1970-01-01
    • 2013-10-28
    • 2015-01-30
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 2019-09-17
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多