implement static method

NSFetchedResultsSectionInfo implement({
  1. required DartCADynamicRange name(),
  2. required NSString? indexTitle(),
  3. required int numberOfObjects(),
  4. required NSArray? objects(),
  5. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSFetchedResultsSectionInfo 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 NSFetchedResultsSectionInfo implement({
  required objc.NSString Function() name,
  required DartNSUserInterfaceItemIdentifier? Function() indexTitle,
  required DartNSUInteger Function() numberOfObjects,
  required objc.NSArray? Function() objects,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSFetchedResultsSectionInfo',
  );
  NSFetchedResultsSectionInfo.name.implement(builder, name);
  NSFetchedResultsSectionInfo.indexTitle.implement(builder, indexTitle);
  NSFetchedResultsSectionInfo.numberOfObjects.implement(
    builder,
    numberOfObjects,
  );
  NSFetchedResultsSectionInfo.objects.implement(builder, objects);
  builder.addProtocol($protocol);
  return NSFetchedResultsSectionInfo.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}