So you need a pointer to the inner block… I did not find any way of doing this 
using public API. You might have to dig into private API’s in libBlocksRuntime.

> On Oct 27, 2019, at 00:28, Gregory Casamento <greg.casame...@gmail.com> wrote:
> 
> I know how to handle it in the normal case.   The issue is how to pull it out 
> of the gnustep specific strict to use it.  
> 
> On Sat, Oct 26, 2019, 11:28 AM 陈北宗 <xcvi...@gmail.com 
> <mailto:xcvi...@gmail.com>> wrote:
> What do you want to access it for? Invoking it? Copying it?
> 
> If it is latter, just copying or retaining the outer block is adequate, as 
> copying the outer block will cause the inner block be retained, which would 
> copy it if it is a stack block.
> 
>> On Oct 26, 2019, at 22:42, Gregory Casamento <greg.casame...@gmail.com 
>> <mailto:greg.casame...@gmail.com>> wrote:
>> 
>> Hey Guys,
>> 
>> I am implementing the following class:
>> 
>> 
>> DEFINE_BLOCK_TYPE(NSBackgroundActivityCompletionHandler, void, 
>> NSBackgroundActivityResult);
>> DEFINE_BLOCK_TYPE(GSScheduledBlock, void, 
>> NSBackgroundActivityCompletionHandler);  
>> 
>> @interface NSBackgroundActivityScheduler : NSObject
>> {
>>   NSString *_identifier;
>>   NSQualityOfService _qualityOfService;
>>   NSTimeInterval _interval;
>>   NSTimeInterval _tolerance;
>>   BOOL _repeats;
>>   BOOL _shouldDefer;
>> }
>>   
>> - (instancetype) initWithIdentifier: (NSString *)identifier;
>> 
>> - (NSString *) identifier;
>> - (void) setIdentifier: (NSString *)identifier;
>> 
>> - (NSQualityOfService) qualityOfService;
>> - (void) setQualityOfService: (NSQualityOfService)qualityOfService;
>> 
>> - (BOOL) repeats;
>> - (void) setRepeats: (BOOL)flag;
>> 
>> - (NSTimeInterval) interval;
>> - (void) setInterval: (NSTimeInterval)interval;
>> 
>> - (NSTimeInterval) tolerance;
>> - (void) setTolerance: (NSTimeInterval)interval;
>> 
>> - (BOOL) shouldDefer;
>> - (void) setShouldDefer: (BOOL)flag;
>> 
>> - (void) scheduleWithBlock: (GSScheduledBlock)block;
>> 
>> - (void) invalidate;
>>   
>> @end
>> 
>> How do I handle the embedded block GSScheduledBlock??  Declaring it this way 
>> compiles, but I have no idea how to access the handler which is passed in.
>> 
>> Any clues?  
>> 
>> Thanks, GC
>> 
>> -- 
>> Gregory Casamento
>> GNUstep Lead Developer / OLC, Principal Consultant
>> http://www.gnustep.org <http://www.gnustep.org/> - 
>> http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/>
>> http://ind.ie/phoenix/ <http://ind.ie/phoenix/>
>> 
>> 
>>   
>> <https://mailtrack.io/?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
>>      Sender notified by 
>> Mailtrack 
>> <https://mailtrack.io/?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
>>  10/26/19, 10:39:17 AM       
>> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to