Block实例------用Block代替delegate来传递值

如果两个试图只是简单的1对1传值的话可以用Block代替delegate,使用简单。

@implementation NSObject(ZXObject)中

 

const char ZXObjectSingleObjectEvent;

 

-(void)receiveObject:(void(^)(id object))sendObject

 

{

 

    objc_setAssociatedObject(self,

 

                             &ZXObjectSingleObjectEvent,

 

                             sendObject,

 

                             OBJC_ASSOCIATION_RETAIN);

 

}

 

-(void)sendObject:(id)object

 

{

 

    void(^block)(id object) = objc_getAssociatedObject(self,&ZXObjectSingleObjectEvent);

 

    if(block != nil) block(object);

 

}

 

 

 

 

 

 

 source:https://github.com/zhangxigithub/BlockUI

 http://justsee.iteye.com/

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(delegate)