多个指针指向同一个块

时间:2013-08-23 04:30:04

标签: iphone objective-c macros block

我在处理块和宏时遇到一些问题,我想要的是让2个块指针指向正在创建的同一个块。

下面是一个例子

Block a;  //Block is a typedef
Block b;
a=b=^{int craziness=0};

截至目前,a和b是2个不同的块,我希望它们是同一个块,以使我的宏更容易

我的宏将是MACRO_NAME(method) Block method = self.block =^

Self.block有一种管理列表中的块的方法所以我需要代码遵循我拥有它的方式,因为宏会跟随我的代码,所以我希望结果看起来像这样

(void) somemethod
{
    MACRO_NAME(newBlock)
    {
        Int crazyness = 0;
    };
}

任何想法都将不胜感激

编辑:作为附注,我知道我可以使用MACRO_NAME(方法,阻止)并让它工作,但它使我的代码看起来很难看。

2 个答案:

答案 0 :(得分:0)

为什么不像self.block = MACRO_NAME(method)那样做?

然后,

MACRO_NAME(method) Block method = ^

答案 1 :(得分:0)

原来。我不得不添加第三个块指针,以使其正常工作,谁知道,无论它是什么工作,感谢您的帮助