implement static method
NSDecimalNumberBehaviors
implement({
- required NSRoundingMode roundingMode(),
- required int scale(),
- required NSDecimalNumber? exceptionDuringOperation_error_leftOperand_rightOperand_(
- Pointer<
ObjCSelector> , - NSCalculationError,
- NSDecimalNumber,
- NSDecimalNumber?,
- Pointer<
- bool $keepIsolateAlive = true,
Builds an object that implements the NSDecimalNumberBehaviors 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 NSDecimalNumberBehaviors implement({
required NSRoundingMode Function() roundingMode,
required int Function() scale,
required NSDecimalNumber? Function(
ffi.Pointer<objc.ObjCSelector>,
NSCalculationError,
NSDecimalNumber,
NSDecimalNumber?,
)
exceptionDuringOperation_error_leftOperand_rightOperand_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSDecimalNumberBehaviors',
);
NSDecimalNumberBehaviors.roundingMode.implement(builder, roundingMode);
NSDecimalNumberBehaviors.scale.implement(builder, scale);
NSDecimalNumberBehaviors
.exceptionDuringOperation_error_leftOperand_rightOperand_
.implement(
builder,
exceptionDuringOperation_error_leftOperand_rightOperand_,
);
builder.addProtocol($protocol);
return NSDecimalNumberBehaviors.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}