gpt4 book ai didi

ios - MPMediaQuery 仅返回本地项目

转载 作者:可可西里 更新时间:2023-11-01 03:06:55 24 4
gpt4 key购买 nike

我想显示一个仅包含当前设备上的歌曲的 UITableView。

如果我查询所有项目,我(显然)会得到所有项目,包括我购买但尚未下载的一次。这是代码的(部分)

@property (strong, nonatomic) NSMutableArray *songsList;

- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.delegate = self;
self.tableView.dataSource = self;
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
NSArray *itemsFromGenericQuery = [everything items];
self.songsList = [NSMutableArray arrayWithArray:itemsFromGenericQuery];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.songsList.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"TableCellID";
TableCellTitle *tablecell = (TableCellTitle *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
MPMediaItem *song = [self.songsList objectAtIndex:indexPath.row];

NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle];
tablecell.cellSongname.text = songTitle;

return tablecell;
}

我读过一些关于涉及的东西

[song valueForProperty:MPMediaItemPropertyIsCloudItem]

但无法按照我上面的解释让它工作。有什么建议吗?

最佳答案

我通过在 MPMediaQuery... 和 NSArray... 之间的 viewDidLoad 方法中添加以下行自行解决了这个问题

[everything addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithBool:NO] forProperty:MPMediaItemPropertyIsCloudItem]];

关于ios - MPMediaQuery 仅返回本地项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19450392/

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