我有一个艺术家和专辑实体。我能够从Album实体中检索所有封面。但是,我无法弄清楚如何只获取分配给特定艺术家的封面。据我所知,这应该有一些具有特定条件的谓词来检索它。 我正在尝试处理核心数据关系,以从Album实体中检索封面属性。请参阅核心数据编辑器中的附加屏幕。以及我试图实现的代码。
var albums = [Album]()
let request = NSFetchRequest<Album>(entityName: "Album")
//request.predicate = NSPredicate(format: "recordArtist = %@", albums)
do {
albums = try context.fetch(request)
for cover in albums {
if ((currentArtist?.name) != nil){
print(currentArtist.cover)
}
}
}
catch { print(error)
}
答案 0 :(得分:1)
您可以通过基于艺术家姓名实现简单谓词来实现此目的。请参阅以下代码:
library(stringi)
index <- unlist(stri_locate(paste(df2$col2, collapse = ""),
fixed = paste(df1$col1, collapse = "")))
df2[index[1]:index[2],]
# col1 col2
#9 3 a
#10 3 a
#11 3 b
#12 3 e
此代码将根据艺术家姓名获取您的完整相册。从专辑中你可以获得封面。
我希望这会对你有所帮助。
答案 1 :(得分:0)
在您的代码中,我看到您有一个Artist,currentArtist的实例,这意味着您不需要执行新的获取请求,而是使用该关系来获取专辑封面。
let albumSet = currentArtist.albums
let covers = albumSet.map($0.cover)
covers
数组现在将包含艺术家的所有封面。