implement static method

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

Builds an object that implements the MLNFeature 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 MLNFeature implement({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: 'MLNFeature');
      MLNFeature.identifier.implement(builder, identifier);    MLNFeature.setIdentifier_.implement(builder, setIdentifier_);    MLNFeature.attributes.implement(builder, attributes);    MLNFeature.setAttributes_.implement(builder, setAttributes_);    MLNFeature.attributeForKey_.implement(builder, attributeForKey_);    MLNFeature.geoJSONDictionary.implement(builder, geoJSONDictionary);    MLNFeature.coordinate.implement(builder, coordinate);    MLNFeature.title.implement(builder, title);    MLNFeature.subtitle.implement(builder, subtitle);
  builder.addProtocol($protocol);
  return MLNFeature.castFrom(builder.build(keepIsolateAlive: $keepIsolateAlive));
}