implement static method
Builds an object that implements the NSDiscardableContent 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 NSDiscardableContent implement({
required bool Function() beginContentAccess,
required void Function() endContentAccess,
required void Function() discardContentIfPossible,
required bool Function() isContentDiscarded,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'NSDiscardableContent');
NSDiscardableContent.beginContentAccess.implement(
builder,
beginContentAccess,
);
NSDiscardableContent.endContentAccess.implement(builder, endContentAccess);
NSDiscardableContent.discardContentIfPossible.implement(
builder,
discardContentIfPossible,
);
NSDiscardableContent.isContentDiscarded.implement(
builder,
isContentDiscarded,
);
builder.addProtocol($protocol);
return NSDiscardableContent.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}