implementAsBlocking static method

CAAction implementAsBlocking({
  1. required void runActionForKey_object_arguments_(
    1. NSString,
    2. ObjCObjectBase,
    3. NSDictionary?
    ),
  2. bool $keepIsolateAlive = true,
})

Builds an object that implements the CAAction protocol. To implement multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly. All methods that can be implemented as blocking listeners will be.

If $keepIsolateAlive is true, this protocol will keep this isolate alive until it is garbage collected by both Dart and ObjC.

Implementation

static CAAction implementAsBlocking({
  required void Function(
    objc.NSString,
    objc.ObjCObjectBase,
    objc.NSDictionary?,
  )
  runActionForKey_object_arguments_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(debugName: 'CAAction');
  CAAction.runActionForKey_object_arguments_.implementAsBlocking(
    builder,
    runActionForKey_object_arguments_,
  );
  builder.addProtocol($protocol);
  return CAAction.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}