implement static method
NSCollectionViewDataSource
implement({
- required DartNSInteger collectionView_numberOfItemsInSection_(),
- required NSCollectionViewItem collectionView_itemForRepresentedObjectAtIndexPath_(),
- DartNSInteger numberOfSectionsInCollectionView_()?,
- NSView collectionView_viewForSupplementaryElementOfKind_atIndexPath_()?,
- bool $keepIsolateAlive = true,
Builds an object that implements the NSCollectionViewDataSource 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 NSCollectionViewDataSource implement({
required DartNSInteger Function(NSCollectionView, DartNSInteger)
collectionView_numberOfItemsInSection_,
required NSCollectionViewItem Function(NSCollectionView, NSIndexPath)
collectionView_itemForRepresentedObjectAtIndexPath_,
DartNSInteger Function(NSCollectionView)? numberOfSectionsInCollectionView_,
NSView Function(
NSCollectionView,
DartNSCollectionViewSupplementaryElementKind,
NSIndexPath,
)?
collectionView_viewForSupplementaryElementOfKind_atIndexPath_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSCollectionViewDataSource',
);
NSCollectionViewDataSource.collectionView_numberOfItemsInSection_.implement(
builder,
collectionView_numberOfItemsInSection_,
);
NSCollectionViewDataSource
.collectionView_itemForRepresentedObjectAtIndexPath_
.implement(
builder,
collectionView_itemForRepresentedObjectAtIndexPath_,
);
NSCollectionViewDataSource.numberOfSectionsInCollectionView_.implement(
builder,
numberOfSectionsInCollectionView_,
);
NSCollectionViewDataSource
.collectionView_viewForSupplementaryElementOfKind_atIndexPath_
.implement(
builder,
collectionView_viewForSupplementaryElementOfKind_atIndexPath_,
);
builder.addProtocol($protocol);
return NSCollectionViewDataSource.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}