相同的代码,不同的结果 - MPMediaQuery的方法“collectionSections”

时间:2013-02-21 04:42:00

标签: objective-c mpmediaquery

起初,我想说我不会说英语。请了解TT

我在Xcode中键入了代码。

MPMediaQuery* songsQuery = [MPMediaQuery songsQuery];

self.songsSectionArray = [songsQuery collectionSections];

在songsQuery中,有许多歌曲以A-Z和其他歌曲开头。

而且,我使用'collectionSections'方法

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

通常输出。它没有问题

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

并记录。

然后,它有问题T.T

结果不同

这是正常输出:

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=#

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

在我的情况下,项目只有基础和英语本地化导致同样的问题。