Skip navigation.
 
mlRe: Concurrent NSOperation
FROM : Chris Kane
DATE : Sat Nov 24 23:14:39 2007

"preparing the runtime environment" is fairly vague because there are 
many different situations that might crop up for operation usage.  In 
this particular case, it sounds like "preparing the runtime 
environment" could be interpreted to mean "add the operation as an 
observer of the notification to the notification center".  And -
isConcurrent can be overridden to return YES.  If nothing (like your -
start method) is going to refer to -main, you need not implement one 
in the subclass.

In your notification handler method, you should make sure to maintain 
KVO compliance, either by manually invoking the will/didChange 
methods, or by creating a "finished" state in your subclass, and 
implementing -setIsFinished: to return that state, a -setIsFinished: 
to set that state, and invoking setIsFinished: from the notification 
handler.  You'll want to override 
+automaticallyNotifiesObserversForKey: to return the correct answer 
(NO or YES respectively) for the @"isFinished" key.

Or something along those lines.

Chris Kane
Cocoa Frameworks, Apple


On Nov 21, 2007, at 9:40 AM, Keith Duncan wrote:

> I'm writing an NSOperation subclass which completes it's work 
> asynchronously. As such I'm going to have to write a concurrent 
> operation.
>
> The problem I have is that I don't want to have to setup my own 
> 'runtime environment', quoted from the docs:
>
> "In your start method, you must prepare the operation for 
> execution, which includes preparing the runtime environment for 
> your operation. (For example, if you wanted to create a thread 
> yourself, you would do it here.) Once your runtime environment is 
> established, you can call any methods or functions you want to 
> subsequently start your operation. Your implementation of the start 
> method should not invoke super."
>
> I simply need to mark the operation as complete when it receives an 
> NSNotification. I could setup a thread but that seems a little 
> pointless since that NSOperation is supposed to handle it 
> automatically.
>
> - Keith
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>

Related mailsAuthorDate
mlConcurrent NSOperation Keith Duncan Nov 21, 18:40
mlRe: Concurrent NSOperation Shawn Erickson Nov 21, 18:50
mlRe: Concurrent NSOperation Keith Duncan Nov 21, 19:57
mlRe: Concurrent NSOperation Shawn Erickson Nov 21, 20:08
mlRe: Concurrent NSOperation Keith Duncan Nov 21, 20:50
mlRe: Concurrent NSOperation Hsu Nov 22, 01:07
mlRe: Concurrent NSOperation Keith Duncan Nov 22, 12:48
mlRe: Concurrent NSOperation Chris Kane Nov 24, 23:14