Android Activity / Intent vs. Qt Signal / Slot vs. iPhone?/?

我正在尝试研究不同移动平台上的对象/组件之间的通信相似性.

Android上,有一个Activity / Intent概念来传递信息,在Qt上我们有信号和插槽.

这里出现的问题:

>将Activity / Intent与信号/插槽概念进行比较是否合法?与我的观点最不同的是不同的粒度级别.虽然活动/意图在“整个屏幕”上运行(活动更精确,因为活动不一定代表一个单独的屏幕),信号/插槽被定义为较小的对象,例如小部件(事实上,对于每个类,源自QObject).
>考虑到平台独立性,您是否会说概念根本上是不同的,或者开发人员是否可以克服对象通信方面的技术差异并充分“抽象”应用程序逻辑以最大限度地减少移植工作?怎么样?
> iOS上有类似的概念吗? (例如,目标行动机制 – 或更像是ObjectiveC提供的代表或通知).

最佳答案 我只能说说android的意图和iOS之间的区别 – 在QT中从来没有做过任何事情,但是我们在这里:

意图(至少据我所知)主要用于指示改变电话状态或改变不同对象的生命周期状态.它们通常不用于更细粒度的东西,例如变更值的通知等.

在iOS中,通知系统同时存在细粒度和粗粒度信息(也就是系统状态甚至模型更改) – 但它的功能完全不同.

我没有看到这两种机制之间有任何直接的相似性.使用Androids Intents我可以启动新的Activites,如果我真的需要,也可以将一些值传递给另一个Activity.使用iOS通知,我可以将任何类型的值从A传递到B,但是必须实现我自己的逻辑,例如在特定的通知上启动服务.此外,iOS中的通知管理比Android Intents更明确.

点赞