Objective-C中的静态块变量

use*_*109 11 objective-c static-variables objective-c-blocks

是否可以使用"块类型"的静态变量?

我有一个只在静态方法中做的东西.执行那些我打电话的方法statusChangedBlock.为此,我创建了一个类的共享实例,并使用其单个块属性.我想知道是否有可能有一个静态块变量; 所以我不必创建一个具有单个属性的实例,只是为了通知我的状态已更改.

我知道有一个NSNotification的选项,但我不喜欢使用它,但有一些罕见的例外.

......这个问题听起来有些愚蠢,我不知道为什么.我希望有人指出这一点.

Bry*_*hen 11

声明块类型的静态变量

typedef ReturnType (^MyBlockType)(ArgumentType, ArgumentType2);
static MyBlockType myblock;
static MyBlockType myblock2;
Run Code Online (Sandbox Code Playgroud)

要么

static ReturnType (^myblock)(ArgumentType, ArgumentType2);
Run Code Online (Sandbox Code Playgroud)

  • `static MyBlockType myAssignedBlock = ^ ReturnType(ArgumentType arg1,ArgumentType2 arg2){...做某事......};`工作正常. (2认同)