implement static method
MLNFeature
implement({
- required ObjCObjectBase? identifier(),
- required void setIdentifier_(
- ObjCObjectBase?
- required NSDictionary attributes(),
- required void setAttributes_(
- NSDictionary
- required ObjCObjectBase? attributeForKey_(
- NSString
- required NSDictionary geoJSONDictionary(),
- required CLLocationCoordinate2D coordinate(),
- NSString? title()?,
- NSString? subtitle()?,
- 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));
}