質問編集履歴
6
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
1つ目のコードではAVAudioPlayerのインスタンスを生成した後に,音楽ファイルを指定しています.
|
5
5
|
しかし,AVAudioPlayerはイニシャライザとして「contentsOf:」を設けているので,インスタンス生成時に引数を渡す必要があると認識しています.
|
6
6
|
|
7
|
-
ど素人が,クラスが引数付きのイニシャライザを宣言しているにも
|
7
|
+
ど素人が,クラスが引数付きのイニシャライザを宣言しているにも関わらず,`引数なしでインスタンスを生成した後に,引数ありのインスタンスを代入する`という観点からみれば2つ目のコードと同じことをしているのではないかと思ってしまうのですが,もちろん間違っていることはわかります.
|
8
8
|
|
9
|
-
では,なぜ1つ目のコードにあるように,`AVAudioPlayerは
|
9
|
+
では,なぜ1つ目のコードにあるように,`AVAudioPlayerは,引数付きのイニシャライザを宣言しているにも関わらず,引数なしのインスタンスを生成できる`のでしょか
|
10
10
|
|
11
11
|
|
12
12
|
プログラミング初心者の自分でもわかるよう教えていただけると助かります.
|
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
1つ目のコードではAVAudioPlayerのインスタンスを生成した後に,音楽ファイルを指定しています.
|
5
5
|
しかし,AVAudioPlayerはイニシャライザとして「contentsOf:」を設けているので,インスタンス生成時に引数を渡す必要があると認識しています.
|
6
6
|
|
7
|
-
ど素人が,`インスタンスを生成した後に,
|
7
|
+
ど素人が,クラスが引数付きのイニシャライザを宣言しているにもかかわらず,`引数なしでインスタンスを生成した後に,引数ありのインスタンスを代入する`という観点からみれば2つ目のコードと同じことをしているのではないかと思ってしまうのですが,もちろん間違っていることはわかります.
|
8
8
|
|
9
9
|
では,なぜ1つ目のコードにあるように,`AVAudioPlayerはインスタンスを生成した後に,イニシャライザのための引数を渡す`のでしょか
|
10
10
|
|
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
ど素人が,`インスタンスを生成した後に,イニシャライザのための引数を渡す`という観点からみれば2つ目のコードと同じことをしているのではないかと思ってしまうのですが,もちろん間違っていることはわかります.
|
8
8
|
|
9
|
-
では,なぜ1つ目のコードにあるように,`AVAudioPlayerはインスタンスを生成した後に,イニシャライザのための引数を
|
9
|
+
では,なぜ1つ目のコードにあるように,`AVAudioPlayerはインスタンスを生成した後に,イニシャライザのための引数を渡す`のでしょか
|
10
10
|
|
11
11
|
|
12
12
|
プログラミング初心者の自分でもわかるよう教えていただけると助かります.
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
1つ目のコードではAVAudioPlayerのインスタンスを生成した後に,音楽ファイルを指定しています.
|
5
5
|
しかし,AVAudioPlayerはイニシャライザとして「contentsOf:」を設けているので,インスタンス生成時に引数を渡す必要があると認識しています.
|
6
6
|
|
7
|
-
ど素人が,`インスタンスを生成した後に,イニシャライザを
|
7
|
+
ど素人が,`インスタンスを生成した後に,イニシャライザのための引数を渡す`という観点からみれば2つ目のコードと同じことをしているのではないかと思ってしまうのですが,もちろん間違っていることはわかります.
|
8
8
|
|
9
|
-
では,なぜ1つ目のコードにあるように,`AVAudioPlayerはインスタンスを生成した後に,イニシャライザを
|
9
|
+
では,なぜ1つ目のコードにあるように,`AVAudioPlayerはインスタンスを生成した後に,イニシャライザのための引数をわたす`のでしょか
|
10
10
|
|
11
11
|
|
12
12
|
プログラミング初心者の自分でもわかるよう教えていただけると助かります.
|
2
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,28 +1,55 @@
|
|
1
1
|
### swift言語のAVAudioPlayerの使い方が分かりません.
|
2
2
|
|
3
3
|
|
4
|
-
|
4
|
+
1つ目のコードではAVAudioPlayerのインスタンスを生成した後に,音楽ファイルを指定しています.
|
5
|
-
しかし,AVAudioPlayerはイニシャライザとして「contentsOf:」を設けているので,
|
5
|
+
しかし,AVAudioPlayerはイニシャライザとして「contentsOf:」を設けているので,インスタンス生成時に引数を渡す必要があると認識しています.
|
6
|
-
なぜでしょうか.
|
7
6
|
|
7
|
+
ど素人が,`インスタンスを生成した後に,イニシャライザを指定している`という観点からみれば2つ目のコードと同じことをしているのではないかと思ってしまうのですが,もちろん間違っていることはわかります.
|
8
|
+
|
9
|
+
では,なぜ1つ目のコードにあるように,`AVAudioPlayerはインスタンスを生成した後に,イニシャライザを指定できる`のでしょか
|
10
|
+
|
11
|
+
|
8
12
|
プログラミング初心者の自分でもわかるよう教えていただけると助かります.
|
13
|
+
|
9
14
|
```swift
|
15
|
+
import UIKit
|
10
|
-
|
16
|
+
import AVFoundation
|
11
17
|
|
18
|
+
class ViewController: UIViewController {
|
19
|
+
|
20
|
+
override func viewDidLoad() {
|
21
|
+
super.viewDidLoad()
|
22
|
+
}
|
23
|
+
|
24
|
+
override func didReceiveMemoryWarning() {
|
25
|
+
super.didReceiveMemoryWarning()
|
26
|
+
}
|
27
|
+
|
28
|
+
let cymbalPath = Bundle.main.bundleURL.appendingPathComponent("cymbal.mp3")
|
29
|
+
|
30
|
+
//////////ここでインスタンスを生成//////////
|
31
|
+
var cymbalPlayer = AVAudioPlayer()
|
32
|
+
|
33
|
+
@IBAction func cymbal(_ sender: Any) {
|
12
|
-
do {
|
34
|
+
do {
|
35
|
+
//////////ここでイニシャライザを指定//////////
|
13
|
-
|
36
|
+
cymbalPlayer = try AVAudioPlayer(contentsOf: cymbalPath, fileTypeHint: nil)
|
37
|
+
|
14
|
-
|
38
|
+
cymbalPlayer.play()
|
15
|
-
|
39
|
+
} catch {
|
16
|
-
|
40
|
+
print("error")
|
17
|
-
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
18
44
|
```
|
19
45
|
```swift
|
20
|
-
do {
|
21
|
-
let player = try AVAudioPlayer(contentsOf: , fileTypeHint: )
|
22
|
-
player.play()
|
23
|
-
|
46
|
+
class A {
|
24
|
-
|
47
|
+
init(string: String){
|
25
|
-
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
var a = A()
|
52
|
+
a = A(string: "~~~")
|
26
53
|
```
|
27
54
|
|
28
55
|
環境
|
1
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|