【发布时间】:2014-05-01 20:05:19
【问题描述】:
我有一个字典数组,用于存储块和队列。在某种方法之后,我需要执行它。
for (NSDictionary * dict in self.arrayOfBlocksAndQueues) {
if (!dict[@"block"] || !dict[@"queue"]) {
continue;
}
dispatch_block_t block = dict[@"block"];
dispatch_async(dict[@"queue"], ^{
block();
});
}
所以我的问题是,我如何在运行时检查 dict[@"block"] 和 dict[@"queue"] 正是我所期望的类型?我有一个typedef void(^handler)();,我需要确保dict[@"block”] 是handler 的类型。据我所知,块和队列实际上是objective-c 对象,但不符合<NSObject> 协议。那么,到底有没有办法呢?
提前致谢!
【问题讨论】:
标签: objective-c objective-c-blocks