UICollectionView Prefetch-Datenquelle in iOS 10?

8

Was ist der Zweck von prefetchDataSources in iOS 10 eingeführt?

Ich habe gerade ein Projekt in XCode 8 GM Seed gestartet und Fehler bekommen:

%Vor%

    
khunshan 10.09.2016, 20:19
quelle

4 Antworten

20
  

UICollectionView erhält in diesem Jahr eine neue Eigenschaft namens   prefetchDataSource. Genau wie der vorhandene Delegate und dataSource   Eigenschaften können wir es einfach auf ein Objekt setzen, das das Neue implementiert   UICollectionViewDataSourcePrefetching-Protokoll.

Dieses Protokoll ist brandneu in iOS 10 und erfordert nur eine neue Funktion:

%Vor%
  

Wenn diese Funktion aufgerufen wird, können wir das Array indexPaths untersuchen   Wir sind hineingelaufen, um zu wissen, welche Zellen "bald kommen" und somit   mit welchen Zellen wir die Daten wahrscheinlich laden sollten.

Für Detailverständnis mit Beispiel Verweislink UICollectionViewDataSourcePrefetching

    
Milap Kundalia 26.09.2016, 12:29
quelle
2

Ich hatte das gleiche Problem nach der Aktualisierung von xcode 8 auf 8.1. Ich könnte es lösen, indem ich die (Outlets-Referenz) aus dem main.storyboard lösche.

Dies für jede CollectionView, die ich im Storyboard hatte. Lassen Sie auch meinen ViewController einfach so:

Klasse (YourViewControllername): (YourViewControllerType), UICollectionViewDataSource, UICollectionViewDelegate {

}

Dann kann ich meine App erstellen und ausführen

Wenn Sie allerdings (UICollectionViewDataSourcePrefetching) benötigen, empfehle ich Ihnen, dass Sie die aktuelle UICollectionView löschen und später eine neue UICollectioView erstellen. genau so können Sie UICollectionViewDataSourcePrefetching nach der Aktualisierung von xcode oder swift

verwenden     
Cristian Mora 01.12.2016 21:33
quelle
1

Implementieren Sie das Protokoll "UICollectionViewDataSourcePrefetching" in Ihrem ViewController als

class ViewController: UIViewController, UICollectionViewDataSourcePrefetching {

Legen Sie die folgenden Delegaten für Ihre Sammlungsansicht im Storyboard fest (siehe angehängtes Bild) oder programmgesteuert

In ViewControllers Methode viewDidLoad

collectionView.delegate = self

collectionView.dataSource = self

collectionView.prefetchDataSource = self

Sehen Sie sich dieses Beispiel an - Ссылка

    
be.with.veeresh 06.10.2016 06:45
quelle
0

Protokoll hinzufügen "UICollectionViewDataSourcePrefetching" Und dann benutze untenstehende Funktionen.

  1. collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath])

  2. collectionView(_ collectionView: UICollectionView, cancelPrefetchingForItemsAt indexPaths: [IndexPath])

Für Details siehe Link: Ссылка

    
Parkhya developer 01.10.2016 09:58
quelle

Tags und Links