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]