xCode 4.4.1 ओएसएक्स 10.8.2, ऐसा लगता है [ऑपरेशन रद्दअधिकऑपरेशन]; अपने ब्लॉक के अंदर[NSOperation CancelAllOperations]; ऑपरेशन को रोक नहीं है
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSOperationQueue *operation = [[NSOperationQueue alloc] init];
[operation setMaxConcurrentOperationCount: 1];
[operation addOperationWithBlock: ^{
for (unsigned i=0; i < 10000000; i++) {
printf("%i\n",i);
}
}];
sleep(1);
if ([operation operationCount] > 0) {
[operation cancelAllOperations];
}
}
परिणाम 9999999
तो कोई भी तरीका खत्म होने तक ऑपरेशन बंद नहीं करता है? – Awesome
वहाँ है - कोड के भीतर, आप चेक किया गया है चेक किया गया है। यदि यह सच है, तो आप निष्पादन करना बंद कर देते हैं। ऑपरेशन खुद को रोकता है, कतार बस इसे रद्द करने के लिए कहती है। क्या इसका कोई मतलब है? –
धन्यवाद आप :) मुझे यह नहीं मिला। – Awesome