refreshable()
, istediğimiz sayfalara oldukça az satırda yenilemek için yukarıdan aşağıya doğru kaydırma özelliği eklemeyi sağlar. Kaydırılan arayüz elemanına (Örneğin List
) eklenen bu “modifier” aracılığıyla yenileme işleminde asenkron olarak çalışacak kodu da belirtebiliriz.
Bu yeni özelliği denemek için öncelikle Xcode 13'ün beta sürümünü Mac’inize kurmuş olmanız gerekiyor. Eğer Xcode 13'e hâlâ sahip değilseniz, indirmek için bu linki kullanabilirsiniz.
Her şey hazır olduğuna göre projemizi kodlamaya geçebiliriz. Bunun için öncelikle bir Xcode projesi oluşturalım. İsim için “Refreshable”ı tercih edebiliriz.
Şimdi, 1'den 100'e kadar olan sayıları listelemek için basit bir List
elemanı oluşturalım. Bunun için aşağıdaki kodu projemize ekleyelim:
List(1..<100) { row in
Text(“\(row)”)
}
Şimdi ise yenilemek için kaydır özelliğini eklemenin vakti geldi. Bunun için ise aşağıdaki kodu projemize eklememiz yeterli:
.refreshable {
print(“Yenilendi”)
}
Bu kod ile sayfayı yenilebilir hale getiriyor ve her yenilemede konsola “Yenilendi” kelimesini yazdırıyoruz.
Buraya sayfayı yenilemek için gerekli olan herhangi bir kodu yazabilirsiniz. Yazdığınız kodlar, asenkron olarak çalışarak arayüzün yenilenmesini etkilemeyecektir.
Gördüğünüz gibi SwiftUI ile yazdığınız bir uygulamada herhangi bir sayfaya yenilemek için aşağı kaydırma özelliğini eklemek oldukça kolay. Ancak unutmamalısınız ki, bu özellik kullanıcı tarafında minimum iOS 15, macOS 12 Monterey, tvOS 15 veya watchOS 8 sürümünü gerektiriyor.