zoukankan      html  css  js  c++  java
  • 从“Qt信号槽机制”到”iOS(MVC)中的Target——Action机制”


    在学习Qt和IOS的过程中,感觉“Qt信号槽机制”与”iOS(MVC)中的Target—Action机制”有许多相似之处,现通过一个相同的程序来探究Qt与ios的实现过程的两个相同之处。

    ios中采用的是MVC这种设计模式,这种模式的关系如下所示:



    第一点相似之处 






    信号槽机制中构建元素搭配与Ios"Target-Action"构建有极大的相似之处:

    Qt

    一个信号可以与多个槽构成信号槽";

    一个槽可以与多个信号构成信号槽 

    信号与信号可以构成信号槽

    iOS

    一个target可以与多个Action构成信号槽"; 

    一个Action可以与多个target构成信号槽 

    targettarget可以构成信号槽   



    第二点:

    如果你想实现这样一个效果:点击按钮(Button控件),在屏幕上显示“HelloChen_Yilong”Label控件),那么在iOS中你要这样添加函数:

    UIButton *buttonReceiver;
    -(void) changeLabel:(sender) {
    LabelReceiver.text=@"HelloChen_Yilong";
    } 
    [buttonSender addTarget:self action:@(changeLabel:) forControlEvent:UIControlEventTouchupInside];

    而在Qt中你会这样添加代码:

    connet(sender,SIGNAL(signal),receiver,SLOT(slot));
    //sender     对应 ButtonLabel,//receiver   对应 LabelReceiver 
    //signal     对应 changeLabel:方法 
    //slot       对应 UIControlEventTouchupInside

    //IOS 方法:[buttonSender addTarget:self action:@(changeLabel:) forControlEvent:UIControlEventTouchupInside]; 
    //对应于Qt的           信号                              槽                                       槽                                                            信号



    如果想进一步了解Qt的信号槽机制可以参看文章:点击打开链接





    作者:
    出处:http://www.cnblogs.com/ChenYilong/(点击RSS订阅)
    本文版权归作者和博客园共有,欢迎转载,
    但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    python基础之lambda,sort,filter,map,递归函数的运用
    python基础之生成器,生成器函数,列表推导式
    python基础之函数名的使用,闭包以及迭代器
    移动端自带框架
    app自动化环境部署和原理
    夜神模拟器连接不上adb
    Appium下载和配置
    word如何添加下滑线
    loadrnner组成
    性能测试
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/2808617.html
Copyright © 2011-2022 走看看