implement static method
NSCollectionViewElement
implement({
- void prepareForReuse()?,
- void applyLayoutAttributes_()?,
- void willTransitionFromLayout_toLayout_()?,
- void didTransitionFromLayout_toLayout_()?,
- NSCollectionViewLayoutAttributes preferredLayoutAttributesFittingAttributes_()?,
- required NSString? identifier(),
- required void setIdentifier_(),
- bool $keepIsolateAlive = true,
Builds an object that implements the NSCollectionViewElement 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 NSCollectionViewElement implement({
void Function()? prepareForReuse,
void Function(NSCollectionViewLayoutAttributes)? applyLayoutAttributes_,
void Function(NSCollectionViewLayout, NSCollectionViewLayout)?
willTransitionFromLayout_toLayout_,
void Function(NSCollectionViewLayout, NSCollectionViewLayout)?
didTransitionFromLayout_toLayout_,
NSCollectionViewLayoutAttributes Function(NSCollectionViewLayoutAttributes)?
preferredLayoutAttributesFittingAttributes_,
required DartNSUserInterfaceItemIdentifier? Function() identifier,
required void Function(DartNSUserInterfaceItemIdentifier?) setIdentifier_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSCollectionViewElement',
);
NSCollectionViewElement.prepareForReuse.implement(builder, prepareForReuse);
NSCollectionViewElement.applyLayoutAttributes_.implement(
builder,
applyLayoutAttributes_,
);
NSCollectionViewElement.willTransitionFromLayout_toLayout_.implement(
builder,
willTransitionFromLayout_toLayout_,
);
NSCollectionViewElement.didTransitionFromLayout_toLayout_.implement(
builder,
didTransitionFromLayout_toLayout_,
);
NSCollectionViewElement.preferredLayoutAttributesFittingAttributes_
.implement(builder, preferredLayoutAttributesFittingAttributes_);
NSCollectionViewElement.identifier.implement(builder, identifier);
NSCollectionViewElement.setIdentifier_.implement(builder, setIdentifier_);
builder.addProtocol($protocol);
return NSCollectionViewElement.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}