在父类中使用dispatch_once?

4
如果我在超类的实例方法中调用dispatch_once,那么它会为每个子类执行一次吗?我猜测不会,因为Xcode Grand Central Dispatch (GCD)参考文档中说它“仅在应用程序的生命周期中执行一个块对象一次。”
2个回答

4
您对文档的理解是正确的。只要使用相同的“once token”,该块将仅执行一次。

3

你对文档的理解几乎是正确的:dispatch_once()将仅在给定的dispatch_once_t变量的生命周期内执行一次。由于大多数应用程序将此变量声明为静态全局变量,因此文档涵盖了这种模式。如果您有一个每个类实例都唯一且开始时正确初始化为零的令牌,则它将针对每个实例执行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接