質問編集履歴

5

2017/12/06 03:56

投稿

mitci
mitci

スコア37

test CHANGED
File without changes
test CHANGED
@@ -80,22 +80,40 @@
80
80
 
81
81
   
82
82
 
83
- ###追記 2017.12.5
83
+ ###追記 2017.12.6
84
84
 
85
- ``MPMediaQuery.artists()``の``.collections``を代入した``artistCollections``の``artistCollections.count``がちゃんとアーティストの数になっているので、そこまでは順調だと思うのですが、
86
-
87
- for文で**アーティスト数数だけ繰り返**の処理をしいるつもりなのですが
85
+ 階層解釈として、
88
86
 
89
87
 
90
88
 
89
+ ``MPMediaQuery``
90
+
91
+
92
+
93
+ ``.artists()`` ← アーティストで分けますというメソッド
94
+
95
+
96
+
91
- 最終的にテーブルビューに入れるときには、``data[indexPath.row].artist``といったようにアーティストのプロパティ(``.artist ``)もう一度指定しているあたり仕組みがわりません・・・
97
+ ``.collections`` ← 各アーティストがどような曲(items)持っているのかという情報
98
+
99
+
100
+
101
+ ``.items`` ← 各曲の詳細を内包した情報
102
+
103
+
104
+
105
+ ``.artist``など ←各曲の情報
92
106
 
93
107
 
94
108
 
95
- かく``MPMediaQuery.artists()``でグループを指定しているのに、結局、曲単位とりだていますよね・・・
109
+ これであっているでしょうか?
96
-
97
- ``data[indexPath.row].title``としたら、``MPMediaQuery.artists()``でアーティストのグループを利用していてもいなくても、ただの曲のテーブルビューができてしまいますよね・・・?
98
110
 
99
111
 
100
112
 
113
+ つまり、上記コードでは
114
+
101
- もしかして、``MPMediaQuery.artists()``とは、曲の順序をアーティスト名順にするとう意味なのでしょうか。。。
115
+ アーティストの数だけfor文が回されいるだけでなく、曲の数だけfor文が回されるのがアーティストの数だけ繰り返されて
116
+
117
+
118
+
119
+ ということですかね?

4

追記の追記しました。

2017/12/06 03:56

投稿

mitci
mitci

スコア37

test CHANGED
File without changes
test CHANGED
@@ -95,3 +95,7 @@
95
95
  せっかく``MPMediaQuery.artists()``でグループを指定しているのに、結局、曲単位でとりだしていますよね・・・
96
96
 
97
97
  ``data[indexPath.row].title``としたら、``MPMediaQuery.artists()``でアーティストのグループを利用していてもいなくても、ただの曲のテーブルビューができてしまいますよね・・・?
98
+
99
+
100
+
101
+ もしかして、``MPMediaQuery.artists()``とは、曲の順序をアーティスト名順にするという意味なのでしょうか。。。

3

加筆

2017/12/05 12:32

投稿

mitci
mitci

スコア37

test CHANGED
File without changes
test CHANGED
@@ -75,3 +75,23 @@
75
75
  ###補足情報(言語/FW/ツール等のバージョンなど)
76
76
 
77
77
  Xcode8 swift3
78
+
79
+
80
+
81
+  
82
+
83
+ ###追記 2017.12.5
84
+
85
+ ``MPMediaQuery.artists()``の``.collections``を代入した``artistCollections``の``artistCollections.count``がちゃんとアーティストの数になっているので、そこまでは順調だと思うのですが、
86
+
87
+ for文で**アーティスト数の数だけ繰り返し**の処理をしているつもりなのですが、
88
+
89
+
90
+
91
+ 最終的にテーブルビューに入れるときには、``data[indexPath.row].artist``といったようにアーティストのプロパティ(``.artist ``)をもう一度指定しているあたりの仕組みがわかりません・・・
92
+
93
+
94
+
95
+ せっかく``MPMediaQuery.artists()``でグループを指定しているのに、結局、曲単位でとりだしていますよね・・・
96
+
97
+ ``data[indexPath.row].title``としたら、``MPMediaQuery.artists()``でアーティストのグループを利用していてもいなくても、ただの曲のテーブルビューができてしまいますよね・・・?

2

artistItems -> artistCollections

2017/12/05 12:25

投稿

mitci
mitci

スコア37

test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  let artistQuery: MPMediaQuery = MPMediaQuery.artists()
16
16
 
17
- let artistItems: [MPMediaItemCollection] = artistQuery.collections!
17
+ let artistCollections: [MPMediaItemCollection] = artistQuery.collections!
18
18
 
19
- for artist in artistItems {
19
+ for artist in artistCollections {
20
20
 
21
21
  let artistItems: [MPMediaItem] = artist.items
22
22
 

1

songs -> artists

2017/12/05 11:47

投稿

mitci
mitci

スコア37

test CHANGED
File without changes
test CHANGED
@@ -20,9 +20,9 @@
20
20
 
21
21
  let artistItems: [MPMediaItem] = artist.items
22
22
 
23
- for songs in artistItems {
23
+ for artists in artistItems {
24
24
 
25
- array.append(songs)
25
+ array.append(artists)
26
26
 
27
27
  }
28
28