title: Not possible to loop over PHFetchResult with ForEach
body: <p>I'm currently working on a photos app for iOS / macOS and i'm struggeling with PhotoKit.</p>
  <p>I did create a class where i manage all my PhotoKit requests.</p>
  <pre><code>class PhotosAPI: ObservableObject {
  
  @Published var all = PHFetchResult&lt;PHAsset&gt;()
  @Published var allAlbums = PHFetchResult&lt;PHAssetCollection&gt;()
  @Published var allSmartAlbums = PHFetchResult&lt;PHAssetCollection&gt;()
  
  // Functions to get the Collections / Assets
  
  }
  </code></pre>
  <p>This part is working so far but now i'm struggeling with showing those data in my View.</p>
  <p>In my View i would like to present all Assets in a List / Grid</p>
  <pre><code>struct ShowImages: View {
  
      @ObservedObject var photos = PhotosAPI()
  
      var body: some View {
          List(photos.all, id: \.self) { item in
              Text(&quot;\(item)&quot;)
          }
      }
  }
  </code></pre>
  <p>But i do get an error &quot;Initializer 'init(_:id:rowContent:)' requires that 'PHFetchResult' conform to 'RandomAccessCollection'&quot; and i did try all day today to fix this but i wasn't successful and i couldn't find anything useful in google.</p>
  <p>Does anyone have an idea how i can get PHFetchResults to loop over them?</p>
  <p>At the end i was able to show the pictures with below code. But this looks like very bad code to me. I would prefer to loop directly over the PHFetchResult. Does anyone know how i can get this done?</p>
  <pre><code>ForEach(0..&lt;photos.all.count) { index in
      Text(&quot;\(photos.all.object(at: index).localIdentifier)&quot;)
  }  
  
         
  </code></pre>