解释
我在核心数据中有一个实体,它将名称,文本字段和图像作为属性。有时,图像将设置为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.image
是path
,但对于带有图片的项目,路径是其他内容。因此,我的想法是,如果我可以从外部数据引用输出中获取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!)
}
答案 0 :(得分:0)
作为对未来偶然发现的其他人的更新,这是一个解决方法。我在我的实体中添加了一个属性,每当我创建一个新项时,它都会将其设置为false
。然后,只要调用添加图像的函数,我就将属性设置为true
。这使得在下面创建for循环相当容易:
for item in (frc.fetchedObjects)! {
if item.photoAdded == true {
//image was added
} else {
//no image was added
}
}