0

首先,我想说我的英语说得不太好。请理解TT

我在 Xcode 中输入了代码。

MPMediaQuery* songsQuery = [MPMediaQuery songsQuery];

self.songsSectionArray = [songsQuery collectionSections];

在songsQuery中,有很多以AZ开头的歌曲,还有其他歌曲。

而且,我使用了 'collectionSections' 方法

而且,我使用 NSLog 登录。签入 songSectionArray

正常输出了。它没有问题

但是,我复制了代码并粘贴了。

并登录。

然后,它有问题TT

结果不一样

这是正常输出:

title=A
title=B
title=C
title=D
title=E
title=F
title=G
title=H
title=I
title=J
title=K
title=L
title=M
title=N
title=O
title=P
title=R
title=S
title=T
title=U
title=V
title=W
title=Y
title=#

这是我复制代码的输出:

title=B
title=K
title=O
title=P
title=Q
title=R
title=S
title=T
title=U
title=V
title=W
title=X
title=Y
title=Z
title=#
title=#
title=#
title=#
title=#
title=#

代码显然是一样的。但是为什么输出不一样呢?

如果您知道解决方案,请帮助我

4

2 回答 2

0

collectionSections数组返回一个MPMediaQuerySections 数组,表示与媒体项目集合的部分分组相关的部分标题。这些部分标题按媒体项目的第一个字母对所有内容进行分组。在这种情况下,songsQuery使用 ,因此每个部分的标题都相对于每首歌曲的第一个字母。

这里的问题是您的设备上没有存储以字母表中的每个字母开头的歌曲。由于不存在歌曲,您不会看到某些字母的部分。

例如,如果设备上没有以字母“D”开头的歌曲,则不会有“D”部分,并且您不会在日志语句中看到字母“D”的任何部分输出。

于 2013-02-21T12:30:08.673 回答
0

添加至少一个本地化文件(例如日语的 InfoPlist.strings)。

在我的情况下,该项目只有 Base 和 English 本地化会导致同样的问题。

于 2014-07-07T19:18:23.517 回答