访问核心数据映像中的外部数据引用属性

时间:2016-12-12 19:02:11

标签: ios swift image core-data

解释

我在核心数据中有一个实体,它将名称,文本字段和图像作为属性。有时,图像将设置为nil,所以我想检查一下。 library(XLConnect) setwd("D:/something/something") mnth="January" files <- list.files(path="./Original Files", pattern=mnth, full.names=T, recursive=FALSE) # Read them into a list df.list = lapply(files, readWorksheetFromFile, sheet=1, startRow=2) #combine them into a single data frame and write to disk: df = do.call(rbind, df.list) rm(df.list) outputFileName<-"Consolidated.xlsx" # Load workbook (create if not existing) wb <- loadWorkbook(outputFileName, create = TRUE) createSheet(wb, name = mnth) writeWorksheet(wb,df,sheet = mnth) #write.xlsx2(df, outputFileName, sheetName = mnth, col.names = T, row.names = F, append = TRUE) saveWorkbook(wb) rm(df) gc() 似乎没有用,所以我尝试将if item.image == nil打印到控制台以查看原因。我注意到我得到了下面的输出,对于没有图像的项目item.imagepath,但对于带有图片的项目,路径是其他内容。因此,我的想法是,如果我可以从外部数据引用输出中获取nil,那么我可以执行path并完成所需的if item.image.ExternalDataReferencePath == nil语句。有谁知道如何在下面的外部数据参考中获取if以检查它是否为零?

目标:获取外部数据参考的“路径”,以便我可以检查它是否为零。

问题:我尝试过accessibilityPath,但这似乎并不正确,因为它会为所有项目返回nil(包含图像和没有图像的项目)。

代码:

path

输出:

for item in (frc.fetchedObjects)! { 
   print("items fetched. testing \(item.name), myField2 \(item.myField2), whose image is")
                        print(item.image!)
}

1 个答案:

答案 0 :(得分:0)

作为对未来偶然发现的其他人的更新,这是一个解决方法。我在我的实体中添加了一个属性,每当我创建一个新项时,它都会将其设置为false。然后,只要调用添加图像的函数,我就将属性设置为true。这使得在下面创建for循环相当容易:

    for item in (frc.fetchedObjects)! { 
       if item.photoAdded == true {
          //image was added
       } else {
          //no image was added
       }
    }