Acrescentando objecto de dados núcleo em uma matriz

votos
0

Quero acrescentar json objeto que eu salvo em dados básicos em uma matriz, mas ele não está funcionando com acréscimo. como pode anexar objecto de dados núcleo em uma matriz.

esta é minha matriz

private var videos = [Video]()

esta minha função para buscar uma API e armazenar o JSON em dados básicos

let params = [part: snippet, q: tausiyah \(name), key: AIzaSyC2mn0PTL8JmSWEthvksdJLvsnwo5Tu9BA]

        APIServices.shared.fetchData(url: APIServices.youtubeBaseURL, params: params, of: Item.self) { (items) in
            items.forEach({ (item) in
                print(item.id.videoId)
                let privateContext = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
                privateContext.parent = CoreDataManager.shared.persistenceContainer.viewContext

                let video = Video(context: privateContext)
                video.title = item.snippet.title
                video.videoId = item.id.videoId

                do {
                    try privateContext.save()
                    try privateContext.parent?.save()
                    self.videos.append(video) // this is I can't append core data into my array
                } catch let saveErr {
                    print(Failed to save json data:, saveErr)
                }
            })
            DispatchQueue.main.async {
                self.collectionView.reloadData()
            }
        }
Publicado 18/12/2018 em 11:08
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Experimente e veja o resultado:

private var videos = [Video]() {
   didSet {
      print("AAA: \(videos.last().title)")
      DispatchQueue.main.async {
          self.collectionView.reloadData()
      }
   }
}

certifique-se de que você definiu numberOfItems & seção para você array.count

Respondeu 18/12/2018 em 14:12
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more