Skip to main content

Add a preview for PHFetchResultCollection

ID
d1df9b9
date
2023-06-09 20:01:45+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
6f38c6c
message
Add a preview for PHFetchResultCollection
changed files
2 files, 40 additions

Changed files

BlinkReviewer/BlinkReviewer/Views/Helpers/PHAssetHStack.swift (0) → BlinkReviewer/BlinkReviewer/Views/Helpers/PHAssetHStack.swift (362)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Helpers/PHAssetHStack.swift b/BlinkReviewer/BlinkReviewer/Views/Helpers/PHAssetHStack.swift
new file mode 100644
index 0000000..1457399
--- /dev/null
+++ b/BlinkReviewer/BlinkReviewer/Views/Helpers/PHAssetHStack.swift
@@ -0,0 +1,20 @@
+//
+//  PHAssetHStack.swift
+//  BlinkReviewer
+//
+//  Created by Alex Chan on 09/06/2023.
+//
+
+import SwiftUI
+
+struct PHAssetHStack: View {
+    var body: some View {
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
+    }
+}
+
+struct PHAssetHStack_Previews: PreviewProvider {
+    static var previews: some View {
+        PHAssetHStack()
+    }
+}

BlinkReviewer/BlinkReviewer/Views/Helpers/PHFetchResultCollection.swift (890) → BlinkReviewer/BlinkReviewer/Views/Helpers/PHFetchResultCollection.swift (1485)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Helpers/PHFetchResultCollection.swift b/BlinkReviewer/BlinkReviewer/Views/Helpers/PHFetchResultCollection.swift
index 184c8fc..7f0f924 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Helpers/PHFetchResultCollection.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Helpers/PHFetchResultCollection.swift
@@ -1,4 +1,5 @@
 import Photos
+import SwiftUI
 
 /// Implement a RandomAccessCollection for a PHFetchResult.
 ///
@@ -31,3 +32,22 @@ struct PHFetchResultCollection: RandomAccessCollection, Equatable {
         fetchResult.object(at: position)
     }
 }
+
+struct PHFetchResultCollection_Previews: PreviewProvider {
+    static var resultCollection: PHFetchResultCollection {
+        let options = PHFetchOptions()
+        options.fetchLimit = 3
+        
+        let fetchResult: PHFetchResult<PHAsset> = PHAsset.fetchAssets(with: options)
+        
+        return PHFetchResultCollection(fetchResult: fetchResult)
+    }
+    
+    static var previews: some View {
+        VStack {
+            ForEach(self.resultCollection, id: \.localIdentifier) { asset in
+                Text("\(asset.localIdentifier)")
+            }
+        }
+    }
+}