mjisrawi
mjisrawi

Reputation: 7936

Is Objective-C Delegation Really Multithreaded?

My question is very straight forward: is the delegate design pattern in iOS truly multithreaded? Meaning is there actual parallel execution going on or is it still all running on the main thread?

Upvotes: 4

Views: 1214

Answers (2)

Rad'Val
Rad'Val

Reputation: 9241

It depends if you call the delegate methods on a different thread or not. In general, delegate methods are called on the same thread after a certain event. In short terms, threading has nothing to do with delegation and from my experience Apple always posts the delegate callbacks methods to the main thread (however, you can choose not to, but things can become nasty if you do).

Upvotes: 4

Chuck
Chuck

Reputation: 237100

Delegation has nothing to do with threading. Delegation is about allowing one object to make decisions on behalf of another. It is normally done in a single-threaded manner, since there's little to be gained from spawning a thread every time you want to ask a delegate something and it would complicate the design considerably.

Upvotes: 3

Related Questions