zoukankan      html  css  js  c++  java
  • 封装Tatget Action

    @interface Sample : NSObject {

        SEL action;
        id  target;
       
    }
    @property SEL action;
    @property (assign) id target;

    -(void)addTarget:(id) t action:(SEL) s;
    -(void)sample_dosomthing;

    @end
    -----------------------------------

    #import "Sample.h"
    @implementation Sample

    @synthesize action;
    @synthesize target;


    -(void)dealloc{
        target = nil;
        [super dealloc];
    }

    -(void)addTarget:(id) t action:(SEL) s{
        self.action = s;
        self.target = t;
    }


    -(void)sample_dosomthing{
       
        [self.target performSelector:self.action];
    }

    @end

    =======

    @interface Other : NSObject {

    }

    -(void)other_dosomthing;
    @end

    -------------------------

    #import "Other.h"


    @implementation Other

    -(void)other_dosomthing{
        NSLog(@"other_dosomthing");
    }

    @end

    =============

    Sample *sample1 = [Sample new];
        [sample1 addTarget:self action:@selector(control_dosomthing)];
       
        [sample1 sample_dosomthing]; //SEE LOG
       
        [sample1 release];
       
        //////////////////////////////////////////////////////////////////
       
        Sample *sample2 = [Sample new];
        Other *other = [Other new];
        [sample2 addTarget:other action:@selector(other_dosomthing)];
       
        [sample2 sample_dosomthing]; //SEE LOG
       
        [other release];
        [sample2 release];

     


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

     
  • 相关阅读:
    JVM的基础知识
    tmux常用命令
    JAVA基础—方法覆写、多态
    datetime模块
    time()函数
    Packet Tracer 思科模拟器入门教程 之二 交换机的基本配置与管理
    单元测试前篇
    em
    视口
    浮动
  • 原文地址:https://www.cnblogs.com/GnagWang/p/2176340.html
Copyright © 2011-2022 走看看