implement static method

NSPreviewRepresentableActivityItem implement({
  1. required ObjCObjectBase item(),
  2. DartNSUserInterfaceItemIdentifier? title()?,
  3. NSItemProvider? imageProvider()?,
  4. NSItemProvider? iconProvider()?,
  5. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSPreviewRepresentableActivityItem protocol. To implement multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly.

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

Implementation

static NSPreviewRepresentableActivityItem implement({
  required Dartinstancetype Function() item,
  DartNSUserInterfaceItemIdentifier? Function()? title,
  objc.NSItemProvider? Function()? imageProvider,
  objc.NSItemProvider? Function()? iconProvider,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSPreviewRepresentableActivityItem',
  );
  NSPreviewRepresentableActivityItem.item.implement(builder, item);
  NSPreviewRepresentableActivityItem.title.implement(builder, title);
  NSPreviewRepresentableActivityItem.imageProvider.implement(
    builder,
    imageProvider,
  );
  NSPreviewRepresentableActivityItem.iconProvider.implement(
    builder,
    iconProvider,
  );
  builder.addProtocol($protocol);
  return NSPreviewRepresentableActivityItem.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}