ios – MPMediaQuery仅返回本地项目

ios – MPMediaQuery仅返回本地项目,第1张

概述我想显示一个UITableView,只显示设备上当前的歌曲. 如果我查询所有项目我(显然)获得所有项目,包括我购买但未下载的项目. 这是代码的(部分) @property (strong, nonatomic) NSMutableArray *songsList;- (void)viewDidLoad{ [super viewDidLoad]; self.tableView. 我想显示一个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仅返回本地项目全部内容,希望文章能够帮你解决ios – MPMediaQuery仅返回本地项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存