我有我的主应用程序委托,其中包含一个返回对象的方法。此应用程序委托在主线程上运行。
我还有一个在不同线程上运行的 NSOperation。除了希望有时能够在我的主线程上调用我的应用程序委托方法外,我还需要从我的 NSOperation 线程中调用它以获取它返回的对象。我的第一个问题是,如果我从我的另一个线程中调用它......
id newObject = [[[UIApplication sharedApplication] delegate] myMethod];
...该方法将在与 NSOperation 相同的线程上处理,还是与应用程序委托所在的线程(主)相同?
我还想确保myMethod
我的操作线程或主线程一次只调用一次其中的代码。我可以在我的应用程序委托中创建一个 NSLock 实例变量并执行以下操作:
-(id)myMethod {
[myLock lock];
myObject = // Get or create my object to return
[myLock unlock];
return myObject;
}
谢谢你的帮助!
麦克风