You could do:

NSOperation *op = [NSBlockOperation blockOperationWithBlock: ^{
    ...
}];
[NSOperationQueue mainQueue] addOperations: [NSArray arrayWithObject:
op] waitUntilFinished: YES]

or:

dispatch_sync(dispatch_get_main_queue(), ^{
    ...
});

but be very careful that you aren't already running on the main
thread, as you could deadlock.

On Mon, Mar 15, 2010 at 2:47 PM, Rick Mann <[email protected]> wrote:
> Then again, what I was doing before was really:
>
> [mTarget performSelectorOnMainThread: mSelector withObejct: data 
> waitUntilDone: true];
>
> which I don't see how to do with 1[addOperationWithBlock:];
>
> On Mar 15, 2010, at 14:46:28, Clark Cox wrote:
>
>> Indeed, such is the power of blocks :)
>>
>> On Mon, Mar 15, 2010 at 2:45 PM, Rick Mann <[email protected]> wrote:
>>> Oh! Sorry for the noise, but I think I can do this:
>>>
>>> [[NSOperationQueue mainQueue] addOperationWithBlock: ^{
>>>   myProvidedBlock(param1, param2);
>>> }];
>>>
>>>
>>> On Mar 15, 2010, at 14:35:39, Clark Cox wrote:
>>>
>>>> On Mon, Mar 15, 2010 at 2:32 PM, Rick Mann <[email protected]> wrote:
>>>>> Instead of passing my operation a target and selector, is there any way I 
>>>>> can just pass it a block, but then have it execute that block on the main 
>>>>> thread?
>>>>
>>>> [[NSOperationQueue mainQueue] addOperationWithBlock: ^{
>>>>    ...
>>>> }];
>>>>
>>>> or:
>>>>
>>>> dispatch_async(dispatch_get_main_queue(), ^{
>>>>    ...
>>>> });
>>>>
>>>>
>>>> --
>>>> Clark S. Cox III
>>>> [email protected]
>>>
>>>
>>
>>
>>
>> --
>> Clark S. Cox III
>> [email protected]
>
>



-- 
Clark S. Cox III
[email protected]
_______________________________________________

Cocoa-dev mailing list ([email protected])

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/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to