Πώς να χρησιμοποιήσετε τα LazyHGrid, LazyVGrid, LazyVStack και LazyHStack;

Με το iOS-14, η Apple παρουσίασε κάποια νέα διάταξη. Σε αυτό το σεμινάριο θα καταλάβουμε πώς μπορούμε να τα χρησιμοποιήσουμε; και Πώς διαφέρει το LazyV(H)Stack από το κανονικό V(H) Stack;

Πώς να εφαρμόσετε το LazyH(V)Grid και το LazyV(H)Stack;

Τα H και V της προβολής Grid/Stack καθορίζουν την κατεύθυνση της διάταξης. Αν θέλουμε αυτές οι προβολές να είναι κύλισης, πρέπει να τις τυλίξουμε με ScrollView.

Πλέγμα LazyH(V):

Στοίβα LazyV(H):

Η υλοποίηση του Lazy Stack μοιάζει πολύ με το κανονικό Stack. Το πώς το Lazy Stack είναι διαφορετικό από το κανονικό Stack, είναι κάτι που θα συζητήσουμε αφού εξετάσουμε τη βασική υλοποίηση:

Πόσο διαφορετικό είναι το LazyV(H)Stack από το V(H)Stack;

Lazy Stack init προβολές που θα πρέπει να είναι ορατές αντί να αποδίδονται όλες οι προβολές. Ας δούμε το πρόγραμμα εντοπισμού σφαλμάτων προβολής πώς βλέπει.

Δημιουργήσαμε δύο προβολές, μία με LazyVstack και μία κανονική VStack. Μετά από πολλές φορές κύλιση, ξεκινήσαμε την προβολή του προγράμματος εντοπισμού σφαλμάτων για να δούμε το δέντρο Widget.

VStack =› Επισυνάπτονται και οι 50 προβολές κειμένου. Καμία βελτιστοποίηση.

LazyVstack =› Έχετε μόνο 31 Προβολή κειμένου και πιθανότατα ανακύκλωση της προβολής όπως ακριβώς και η προβολή πίνακα.

📌Παρατηρούμε επίσης ότι το μοντέλο δεδομένων που χρησιμοποιήσαμε στην προβολή LazyStack καλείται μόνο μία φοράγια κάθε σειρά, Παρόλο που οι προβολές αναδημιουργούνται. Γιατί είναι αυτό, είναι ένα ανοιχτό ερώτημα.

struct  Row {
   var value: Int
   init(value: Int) {
        print("INIT: \(value)")
        self.value = value
   }
}

Αναφορά