gpt4 book ai didi

ios - 如何在 iOS 中用 MediaItem 中的 Unknown 替换 NULL?

转载 作者:行者123 更新时间:2023-11-28 22:41:52 25 4
gpt4 key购买 nike

当我在 iOS 中从 MPMediaItem 检索媒体信息,如 ArtistAlbum 、歌曲标题时,但是有些歌曲没有艺术家姓名和专辑。

所以我得到了 NULL 的返回值

这是我的代码

MPMediaItem *currentItem = self.player.nowPlayingItem;

NSString *Artist = [currentItem valueForProperty:MPMediaItemPropertyArtist];
NSString *Title = [currentItem valueForProperty:MPMediaItemPropertyTitle];
NSString *Album = [currentItem valueForProperty:MPMediaItemPropertyAlbumTitle];

如果歌曲没有艺术家和专辑名称,则返回 NULL 值。

我想用 Unknown 值替换那个 NULL 值。

如何替换它?

感谢您的阅读。

最佳答案

如果你想要优雅,你可以像这样在MPMediaItem中添加一个类别:

@implementation MPMediaItem (Readable)

- (id)readableValueForProperty:(NSString *)prop
{
id originalValue = [self valueForProperty:prop];

if (originalValue == nil) {
return @"Unknown";
}

return originalValue;
}

@end

然后你可以这样调用它:

NSString *artist = [currentItem readableValueForProperty:MPMediaItemPropertyArtist];

请注意,如果您获得的属性最初不是 NSString,那么这是很危险的。不过,如果您仅使用字符串值进行操作,这应该没问题。

一种始终安全但可读性较差(且冗余较多)的方法是手动检查每个返回值:

NSString *artist = [currentItem valueForProperty:MPMediaItemPropertyArtist];
if (artist == nil) artist = @"Unknown";

关于ios - 如何在 iOS 中用 MediaItem 中的 Unknown 替换 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14295893/

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