我有一个类,我想将其限制在一个线程中。准确地说,我希望在类私下创建的某个线程或串行队列上访问它的 void 返回方法。为了实现这一点,我将NSManagedObjectContext
API 视为参考。有一种perform(block:() -> Void)
方法可以做到这一点。
这带有一个我有点不舒服的代码模式。此 API 的用户需要调用perform(block:() -> Void)
方法块中的对象。有没有更优雅的解决方案,我可以声明所有方法和属性都局限于这个特定的线程。所以基本上用户可以访问这些方法,但内部操作发生在预期的线程上。
我知道我可以转到每个方法并将该方法的工作分派到预期线程中的选项。但这是编写调度代码的额外开销。