gpt4 book ai didi

ios - MPMediaQuery 无效值

转载 作者:行者123 更新时间:2023-11-29 02:45:20 26 4
gpt4 key购买 nike

我正在运行 MPMediaQuery 以在用户的​​ iPod 库中查找歌曲,如下所示:

MPMediaQuery *songQuery = [MPMediaQuery songsQuery];

[songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:track.title forProperty:MPMediaItemPropertyTitle comparisonType:MPMediaPredicateComparisonEqualTo]];

[songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:track.album forProperty:MPMediaItemPropertyAlbumTitle comparisonType:MPMediaPredicateComparisonEqualTo]];

[songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:track.artist forProperty:MPMediaItemPropertyArtist comparisonType:MPMediaPredicateComparisonEqualTo]];


*** CRASH HERE ***
if (songQuery.items.count > 0) {

return [songQuery.items objectAtIndex:0];

}

else {

return nil;

}

应用程序崩溃并吐出:

'invalid value (nil) for property item_extra.title.'

我做错了什么吗?有没有更好的方法来查询歌曲?谢谢大家!

最佳答案

在这一行:

[songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:track.title forProperty:MPMediaItemPropertyTitle comparisonType:MPMediaPredicateComparisonEqualTo]];

track.title 的值为 nil。你需要做一个检查,比如:

if (track.title != nil)
{
[songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:track.title forProperty:MPMediaItemPropertyTitle comparisonType:MPMediaPredicateComparisonEqualTo]];
}

编辑:我建议对要添加为过滤谓词的每个变量进行检查,以确保它们也不为零!

关于ios - MPMediaQuery 无效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25214093/

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