我正在使用下面的代碼爲nsoperation.The問題是所有三個任務串行運行。我可以做什麼使任務並行運行。我嘗試實施開始和isconcurrent方法,但它does not work.please幫助... 鑑於是我uaview控制器類nsoperation爲什麼連續工作?
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
Store *S=[ [Store alloc] init];
S.a=25;
NSOperationQueue *someQueue = [NSOperationQueue currentQueue];
someQueue.MaxConcurrentOperationCount = 3;
NSInvocationOperation *invocationOp2 = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(ymain)
object:nil];
NSInvocationOperation *invocationOp3 = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(ymain2)
object:nil];
NSInvocationOperation *invocationOp4 = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(ymain3)
object:nil];
[someQueue addOperation:invocationOp2];
[someQueue addOperation:invocationOp3];
[someQueue addOperation:invocationOp4];
}
-(void)ymain
{
for (int i = 0 ; i < 10000 ; i++) {
NSLog(@"in the A main"); }
}
這是其子類
@interface A : NSOperation
@end
@implementation A
bool executing;
bool finished;
-(void)main
{
}
- (BOOL)isConcurrent
{
return YES;
}
- (BOOL)isReady
{
return YES;
}
你需要繼承'NSOperation'並覆蓋那裏的一些方法,而不是在你的'UIViewController'中。看看[Apple的編程指南](http://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html)。 – hwaxxer
我已經在另一個類中劃分了nsoperation – zzzzz
如果你劃分NSOperation,爲什麼你不使用子類? –