相关疑难解决方法(0)

我可以使用Objective-C块作为属性吗?

是否可以使用标准属性语法将块作为属性?

ARC有什么变化吗?

objective-c ios objective-c-blocks automatic-ref-counting

319
推荐指数
6
解决办法
11万
查看次数

Obj-C Block可以自行执行吗?

这是此queston的扩展: 是否可以在Objective-C中创建"块"对象的类别.

基本上虽然似乎可以通过NSObject或NSBlock在块上创建类别,但我无法理解块如何能够自我评估.在上一个问题的答案中给出的例子:

- (void) doFoo {
  //do something awesome with self, a block
  //however, you can't do "self()".  
  //You'll have to cast it to a block-type variable and use that
}
Run Code Online (Sandbox Code Playgroud)

意味着有可能以某种方式将self转换为块变量,但是如何执行块本身呢?例如,假设我在NSBlock上做了一个类别,并且在一个方法中做了:

NSBlock* selfAsBlock = (NSBlock*)self;
Run Code Online (Sandbox Code Playgroud)

是否有任何消息可以发送给selfAsBlock以对块进行评估?

objective-c objective-c-blocks objective-c-category

7
推荐指数
1
解决办法
3355
查看次数