implement static method

MLNCluster implement({
  1. required int clusterIdentifier(),
  2. required int clusterPointCount(),
  3. required ObjCObjectBase? identifier(),
  4. required void setIdentifier_(
    1. ObjCObjectBase?
    ),
  5. required NSDictionary attributes(),
  6. required void setAttributes_(
    1. NSDictionary
    ),
  7. required ObjCObjectBase? attributeForKey_(
    1. NSString
    ),
  8. required NSDictionary geoJSONDictionary(),
  9. required CLLocationCoordinate2D coordinate(),
  10. NSString? title()?,
  11. NSString? subtitle()?,
  12. bool $keepIsolateAlive = true,
})
override

Builds an object that implements the MLNCluster 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 MLNCluster implement({required int Function() clusterIdentifier, required int Function() clusterPointCount, required objc.ObjCObjectBase? Function() identifier, required void Function(objc.ObjCObjectBase? ) setIdentifier_, required objc.NSDictionary Function() attributes, required void Function(objc.NSDictionary ) setAttributes_, required objc.ObjCObjectBase? Function(objc.NSString ) attributeForKey_, required objc.NSDictionary Function() geoJSONDictionary, required CLLocationCoordinate2D Function() coordinate, objc.NSString? Function()? title, objc.NSString? Function()? subtitle, bool $keepIsolateAlive = true}) {
  final builder = objc.ObjCProtocolBuilder(debugName: 'MLNCluster');
      MLNCluster.clusterIdentifier.implement(builder, clusterIdentifier);    MLNCluster.clusterPointCount.implement(builder, clusterPointCount);    MLNCluster.identifier.implement(builder, identifier);    MLNCluster.setIdentifier_.implement(builder, setIdentifier_);    MLNCluster.attributes.implement(builder, attributes);    MLNCluster.setAttributes_.implement(builder, setAttributes_);    MLNCluster.attributeForKey_.implement(builder, attributeForKey_);    MLNCluster.geoJSONDictionary.implement(builder, geoJSONDictionary);    MLNCluster.coordinate.implement(builder, coordinate);    MLNCluster.title.implement(builder, title);    MLNCluster.subtitle.implement(builder, subtitle);
  builder.addProtocol($protocol);
  return MLNCluster.castFrom(builder.build(keepIsolateAlive: $keepIsolateAlive));
}