implement static method
NSObjectProtocol
implement({
- required ObjCObject autorelease(),
- required ObjCObject class$(),
- required bool conformsToProtocol_(),
- NSString debugDescription()?,
- required NSString description(),
- required int hash(),
- required bool isEqual_(),
- required bool isKindOfClass_(),
- required bool isMemberOfClass_(),
- required bool isProxy(),
- required ObjCObject performSelector_(),
- required ObjCObject performSelector_withObject_(),
- required ObjCObject performSelector_withObject_withObject_(),
- required void release(),
- required bool respondsToSelector_(),
- required ObjCObject retain(),
- required int retainCount(),
- required ObjCObject self(),
- required ObjCObject superclass(),
- required Pointer<
NSZone> zone(), - bool $keepIsolateAlive = true,
Builds an object that implements the NSObject 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 NSObjectProtocol implement({
required objc.ObjCObject Function() autorelease,
required objc.ObjCObject Function() class$,
required bool Function(Protocol) conformsToProtocol_,
NSString Function()? debugDescription,
required NSString Function() description,
required int Function() hash,
required bool Function(objc.ObjCObject) isEqual_,
required bool Function(objc.ObjCObject) isKindOfClass_,
required bool Function(objc.ObjCObject) isMemberOfClass_,
required bool Function() isProxy,
required objc.ObjCObject Function(ffi.Pointer<objc.ObjCSelector>)
performSelector_,
required objc.ObjCObject Function(
ffi.Pointer<objc.ObjCSelector>,
objc.ObjCObject,
)
performSelector_withObject_,
required objc.ObjCObject Function(
ffi.Pointer<objc.ObjCSelector>,
objc.ObjCObject,
objc.ObjCObject,
)
performSelector_withObject_withObject_,
required void Function() release,
required bool Function(ffi.Pointer<objc.ObjCSelector>) respondsToSelector_,
required objc.ObjCObject Function() retain,
required int Function() retainCount,
required objc.ObjCObject Function() self,
required objc.ObjCObject Function() superclass,
required ffi.Pointer<NSZone> Function() zone,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'NSObject');
NSObjectProtocol$Builder.autorelease.implement(builder, autorelease);
NSObjectProtocol$Builder.class$.implement(builder, class$);
NSObjectProtocol$Builder.conformsToProtocol_.implement(
builder,
conformsToProtocol_,
);
NSObjectProtocol$Builder.debugDescription.implement(
builder,
debugDescription,
);
NSObjectProtocol$Builder.description.implement(builder, description);
NSObjectProtocol$Builder.hash.implement(builder, hash);
NSObjectProtocol$Builder.isEqual_.implement(builder, isEqual_);
NSObjectProtocol$Builder.isKindOfClass_.implement(builder, isKindOfClass_);
NSObjectProtocol$Builder.isMemberOfClass_.implement(
builder,
isMemberOfClass_,
);
NSObjectProtocol$Builder.isProxy.implement(builder, isProxy);
NSObjectProtocol$Builder.performSelector_.implement(
builder,
performSelector_,
);
NSObjectProtocol$Builder.performSelector_withObject_.implement(
builder,
performSelector_withObject_,
);
NSObjectProtocol$Builder.performSelector_withObject_withObject_.implement(
builder,
performSelector_withObject_withObject_,
);
NSObjectProtocol$Builder.release.implement(builder, release);
NSObjectProtocol$Builder.respondsToSelector_.implement(
builder,
respondsToSelector_,
);
NSObjectProtocol$Builder.retain.implement(builder, retain);
NSObjectProtocol$Builder.retainCount.implement(builder, retainCount);
NSObjectProtocol$Builder.self.implement(builder, self);
NSObjectProtocol$Builder.superclass.implement(builder, superclass);
NSObjectProtocol$Builder.zone.implement(builder, zone);
builder.addProtocol($protocol);
return NSObjectProtocol.as(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}