2

私は次のような方法を持っています:

- (void)showPermissionRequestsWithCompletionHandler:(void (^)())completionHandler
{
    completionHandler();
}

適切なタイミングでディスパッチできるように、completionHandler をプライベート var に格納するのが好きです。誰もそのようなことを達成する方法を知っていますか?


私は今持っています:

typedef void (^VoidBlockType)();

@interface CMPermissionCenter : NSObject <UIAlertViewDelegate>
{
    @private
    VoidBlockType   _didShowPermissionRequestsBlock; 
}

- (void)showPermissionRequestsWithCompletionHandler:(void (^)())completionHandler
{
        _didShowPermissionRequestsBlock = [completionHandler retain];
        [self doSomeWork];
}

- (void)doSomeWork
{
        _didShowPermissionRequestsBlock();
        [_didShowPermissionRequestsBlock release];
        _didShowPermissionRequestsBlock = nil;
}

しかし、これは正しい方法ではないと何かが教えてくれます。

4

0 に答える 0