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 >> >
smime.p7s
Description: S/MIME cryptographic signature