gpt4 book ai didi

ios - 访问 Core Data 中的相关对象

转载 作者:行者123 更新时间:2023-11-28 20:08:24 24 4
gpt4 key购买 nike

我已经在我的 SongsPlaylists 实体之间建立了关系。现在,我正在尝试访问所选 Playlist 中的 Songs。选中的播放列表保存在对象中

optionsSingle.selectedRowNumber

我有这个获取方法,我在其中访问所有歌曲对象并将它们保存在名为播放列表的 NSMutableArray 中。如何只获取与给定播放列表对象 (optionsSingle.selectedRowNumber) 相关的歌曲?

- (void)fetchDevices {

NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Playlists"];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Playlists" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];

playlists = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
}

核心数据模型:

enter image description here

最佳答案

我认为您有更好的设计选择。虽然 Sebastian 建议的更正非常重要,但您应该重新设计表格 View 。 (我推断这是一个表格 View ,显示您问题中的播放列表)。

您应该使用 NSFetchedResultsController 而不是创建一个数组并用该数组的内容填充您的表。 FRC 将负责所有特定于 TableView 的获取和内存管理。

通过打开主从模板(Xcode 中的“新建项目”)并选中“核心数据”选项,您可以轻松获得 NSFetchedResultsController 的工作示例。

现在您可以非常轻松地访问播放列表:

Playlist *playlist = [self.fetchedResultsController objectAtIndexPath:indexPath]; 

您会发现编写干净、简洁和可读的代码会容易得多。

关于ios - 访问 Core Data 中的相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21190529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com