我有一个存储块和队列的字典数组。在某些方法之后,我需要执行它。
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
类型。据我所知,blocks和queues实际上是objective-c对象,但不符合<NSObject>
协议。那么,有没有办法做到这一点呢?提前感谢!