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