【问题标题】:CoreData releation 1-many and 1 to manyCoreData 关系 1-many 和 1 to many
【发布时间】:2018-12-22 09:30:08
【问题描述】:

我有 3 个具有以下属性的实体(用户、相册和照片)。 我无法从照片中读取数据(相册 1:>许多照片)。 这就是我保存数据的方式

var managedContext: NSManagedObjectContext!
    var currentUser: User!
    @IBAction func saveButtonTapped(_ sender: Any) {
            let album = Album(context: managedContext)
            album.albumMainPhoto = photoArray[0].jpegData(compressionQuality: 1.0) as! NSData
            album.albumDescription = photoDescriptionArray[0]
            album.numberOfPhotos = Int16(photoArray.count)
            let photos = Photo(context: managedContext)
            photos.colorAsHex = "hexTest"
            photos.photo = photoArray[0].jpegData(compressionQuality: 1.0) as! NSData
            photos.photoDescription = "descTest"
            photos.photoStyle = "styleTest"

            album.addToAlbumToPhotos(photos)
            currentUser?.addToUserToAlbum(album)
            do {
                try managedContext.save()
            } catch let error as NSError {
                print("save error: \(error), description: \(error.userInfo)")
            }
            dismiss(animated: true, completion: nil)
        }

我通过这个检索数据

guard let album = currentUser?.userToAlbum?[indexPath.row] as? Album,
            let albumTitle = album.albumDescription as String?,
            let albumPhotosCount = album.numberOfPhotos as Int16?,
            let albumMainPhoto = album.albumMainPhoto as NSData? else {
                return
        }

        guard let photos = Albums?.albumToPhotos?[indexPath.row] as? Photo,
            let photodesc = photos.photoDescription as String?,
            let photoImage = photos.photo as NSData?
            else {
                return
        }

第一个选项(保护让相册)完美运行,我无法读取相册描述、照片编号和图片相册主照片。当我尝试在照片上使用它时,它无法读取数据。我还是 coreData 的新手,所以我可能会做错事。

【问题讨论】:

    标签: ios swift xcode core-data


    【解决方案1】:

    我可以通过这个获取数据:

    guard let album = currentUser?.userToAlbum?[indexPath.row] as? Album,
                let albumTitle = album.albumDescription as String?,
                let albumPhotosCount = album.numberOfPhotos as Int16?,
                let albumMainPhoto = album.albumMainPhoto as NSData?,
                let photos = album.albumToPhotos?[indexPath.row] as? Photo,
                let photosDes = photos.photoDescription as String?
                else {
                    return
            }
    

    【讨论】:

      猜你喜欢
      • 2012-03-16
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2021-07-21
      相关资源
      最近更新 更多