Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSOperation on the iPhone

I've been looking for some concrete scenarios for when NSOperation on the iPhone is an ideal tool to use in an application. To my understanding, this is a wrapper around writing your own threaded code. I haven't seen any Apple demo apps using it, and I'm wondering if I'm missing out on a great tool instead of using NSThread.

The ideal solution here would be to describe a use-case scenario for NSOperation and how you would use it to solve your problem(s).

like image 889
Coocoo4Cocoa Avatar asked May 06 '09 15:05

Coocoo4Cocoa


People also ask

What is NSOperation and NSOperationQueue in iOS?

Overview. An operation queue invokes its queued NSOperation objects based on their priority and readiness. After you add an operation to a queue, it remains in the queue until the operation finishes its task. You can't directly remove an operation from a queue after you add it. Note.

What is the difference between GCD and NSOperation?

GCD is a low-level C-based API that enables very simple use of a task-based concurrency model. NSOperation and NSOperationQueue are Objective-C classes that do a similar thing. NSOperation was introduced first, but as of 10.5 and iOS 2, NSOperationQueue and friends are internally implemented using GCD .

What are NS operations?

An abstract class that represents the code and data associated with a single task.

What is difference between dispatch queue and NSOperationQueue?

NSOperationQueue can be more suitable for long-running operations that may need to be cancelled or have complex dependencies. GCD dispatch queues are better for short tasks that should have minimum performance and memory overhead.


1 Answers

Cocoa Is My Girlfriend has a good tutorial on the use of NSOperation and NSOperationQueue. The tutorial makes use of NSOperation to download several webpages simultaneously in separate threads.

Also, see this article from Mac Research.

like image 52
e.James Avatar answered Oct 13 '22 18:10

e.James