implement static method
NSKeyedArchiverDelegate
implement({
- ObjCObjectBase? archiver_willEncodeObject_(
- NSKeyedArchiver,
- ObjCObjectBase
- void archiver_didEncodeObject_(
- NSKeyedArchiver,
- ObjCObjectBase?
- void archiver_willReplaceObject_withObject_(
- NSKeyedArchiver,
- ObjCObjectBase?,
- ObjCObjectBase?
- void archiverWillFinish_()?,
- void archiverDidFinish_()?,
- bool $keepIsolateAlive = true,
Builds an object that implements the NSKeyedArchiverDelegate 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 NSKeyedArchiverDelegate implement({
objc.ObjCObjectBase? Function(NSKeyedArchiver, objc.ObjCObjectBase)?
archiver_willEncodeObject_,
void Function(NSKeyedArchiver, objc.ObjCObjectBase?)?
archiver_didEncodeObject_,
void Function(NSKeyedArchiver, objc.ObjCObjectBase?, objc.ObjCObjectBase?)?
archiver_willReplaceObject_withObject_,
void Function(NSKeyedArchiver)? archiverWillFinish_,
void Function(NSKeyedArchiver)? archiverDidFinish_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSKeyedArchiverDelegate',
);
NSKeyedArchiverDelegate.archiver_willEncodeObject_.implement(
builder,
archiver_willEncodeObject_,
);
NSKeyedArchiverDelegate.archiver_didEncodeObject_.implement(
builder,
archiver_didEncodeObject_,
);
NSKeyedArchiverDelegate.archiver_willReplaceObject_withObject_.implement(
builder,
archiver_willReplaceObject_withObject_,
);
NSKeyedArchiverDelegate.archiverWillFinish_.implement(
builder,
archiverWillFinish_,
);
NSKeyedArchiverDelegate.archiverDidFinish_.implement(
builder,
archiverDidFinish_,
);
builder.addProtocol($protocol);
return NSKeyedArchiverDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}