2016-07-12 11 views
0

Ich probiere die neuen collectionView:prefetchItemsAt und collectionView:cancelPrefetchingForItemsAt Methoden des Protokolls UICollectionViewDataSourcePrefetching aus, aber keiner von diesen wird genannt. Der Delegat wird über den Schnittstellen-Builder festgelegt (aus Code mit dem gleichen Ergebnis getestet), das Implementierungsziel ist auf iOS 10 festgelegt, also sollte es theoretisch funktionieren. Also meine Frage ist, dass ich etwas vermisse, um es zum Laufen zu bringen, oder der Mechanismus ist ausgefeilter als ich dachte und das System hat nicht gefühlt, dass es das Vorabholen tun sollte?iOS 10 collectionView: prefetchItemsAt nicht angerufen

+0

Ist ' UICollectionView-Eigenschaft namens ' prefetchingEnabled auf 'YES' gesetzt? Habe gerade diesen Fall in Xcode 8.0 beta 4 ausprobiert - funktioniert wie erwartet. –

+0

@RomanErmolov ja, es wurde auf "wahr" gesetzt, aber keine Wirkung. Nur für die Referenz, ich benutzte Swift –

+0

in der Theorie, die Sprache sollte überhaupt keine Rolle spielen. Ich kann raten, dass Sie keine unsichtbaren Zellen haben - wenn alle Zellen auf dem Bildschirm sind, wird diese Methode nicht aufgerufen. –

Antwort

1

Implementieren Protokoll "UICollectionViewDataSourcePrefetching" in Ihnen Viewcontroller als

Klasse Viewcontroller: UIViewController, UICollectionViewDataSourcePrefetching {

Sets folgend Delegierten zu Ihrer Sammlung Ansicht in Storyboard (siehe beigefügtes Bild) oder programmatisch

In ViewControllersviewDidLoad Methode

collectionView.delegate = Selbst

collectionView.dataSource = Selbst

collectionView.prefetchDataSource self =

dieses Beispiel finden - https://github.com/Be-With-Viresh/CollectionViewWithPrefetch

enter image description here

Verwandte Themen