質問編集履歴

5

2019/01/22 23:37

投稿

vlb
vlb

スコア109

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 1つ目のコードの20行目の`var cymbalPlayer = AVAudioPlayer()`は`AVAudioPlayer`のインスタンを生成していますが,なぜイニシャライザ呼び出すことなくインスタンを生成できるのでしょうか.
13
+ 1つ目のコードの20行目の`var cymbalPlayer = AVAudioPlayer()`は`AVAudioPlayer`のインスタンを生成していますが,なぜ引数すことなくインスタンを生成できるのでしょうか.
14
14
 
15
15
 
16
16
 
@@ -140,7 +140,7 @@
140
140
 
141
141
  ### 追加
142
142
 
143
- `インスタンスを生成した後に,イニシャライザ指定している`という観点からみれば下のコードのような意味不明なコードになると思うのですが,なぜ`AVAudioPlayer`は許されるのでしょうか.
143
+ `引数なしのインスタンスを生成した後に,引数ありのンスタンス代入する`という観点からみれば下のコードのような意味不明なコードになると思うのですが,なぜ`AVAudioPlayer`は許されるのでしょうか.
144
144
 
145
145
  ```swift
146
146
 

4

文法の修正

2019/01/22 23:37

投稿

vlb
vlb

スコア109

test CHANGED
File without changes
test CHANGED
@@ -138,6 +138,32 @@
138
138
 
139
139
  ```
140
140
 
141
+ ### 追加
142
+
143
+ `インスタンスを生成した後に,イニシャライザを指定している`という観点からみれば下のコードのような意味不明なコードになると思うのですが,なぜ`AVAudioPlayer`は許されるのでしょうか.
144
+
145
+ ```swift
146
+
147
+ class A {
148
+
149
+ init(string: String){
150
+
151
+ }
152
+
153
+ }
154
+
155
+
156
+
157
+ var a = A()
158
+
159
+ a = A(string: "~~~")
160
+
161
+ ```
162
+
163
+
164
+
165
+
166
+
141
167
  環境
142
168
 
143
169
  xcode:10

3

文法の修正

2019/01/21 14:49

投稿

vlb
vlb

スコア109

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- あるクラスのインスタンスを生成するときはイニシャライザのための引数を渡す必要がありますよね?
23
+ 引数なしのイニシャライザでれば引数を渡さずにインスタンスを生成しますが,引数ありのイニシャライザを保有しているクラスのインスタンスを生成するときはイニシャライザのための引数を渡す必要がありますよね?
24
24
 
25
25
 
26
26
 

2

文法の修正

2019/01/21 14:42

投稿

vlb
vlb

スコア109

test CHANGED
File without changes
test CHANGED
@@ -10,17 +10,17 @@
10
10
 
11
11
 
12
12
 
13
- 1つ目のコードの20行目の```var cymbalPlayer = AVAudioPlayer()```は```AVAudioPlayer```のインスタンを生成していますが,なぜイニシャライザを呼び出すことなくインスタンを生成できるのでしょうか.
13
+ 1つ目のコードの20行目の`var cymbalPlayer = AVAudioPlayer()`は`AVAudioPlayer`のインスタンを生成していますが,なぜイニシャライザを呼び出すことなくインスタンを生成できるのでしょうか.
14
14
 
15
15
 
16
16
 
17
- 私は2つ目のコードの正しい書き方だと思うのですが,間違ってるよす.
17
+ 私は2つ目のコードのように書く必要あると思うのですが,これだと音が一瞬しかな流れなといことはわかります.
18
-
19
- なぜでしょうか.
20
18
 
21
19
 
22
20
 
21
+
22
+
23
- プロググ初心者自分でもわかるよう教えていだけると助かります
23
+ あるクスのイスタンスを生成するときはイニシャライザのための引数を渡す必要がありますよね?
24
24
 
25
25
 
26
26
 
@@ -40,8 +40,6 @@
40
40
 
41
41
  super.viewDidLoad()
42
42
 
43
- // Do any additional setup after loading the view, typically from a nib.
44
-
45
43
  }
46
44
 
47
45
 
@@ -50,19 +48,13 @@
50
48
 
51
49
  super.didReceiveMemoryWarning()
52
50
 
53
- // Dispose of any resources that can be recreated.
54
-
55
51
  }
56
52
 
57
53
 
58
54
 
59
- // シンバルの音源ファイルを指定
60
-
61
55
  let cymbalPath = Bundle.main.bundleURL.appendingPathComponent("cymbal.mp3")
62
56
 
63
57
 
64
-
65
- // シンバル用のプレイヤーインスタンスを作成
66
58
 
67
59
  var cymbalPlayer = AVAudioPlayer()
68
60
 
@@ -72,19 +64,15 @@
72
64
 
73
65
  do {
74
66
 
75
- // シンバル用のプレイヤーに、音源ファイル名を指定
76
-
77
67
  cymbalPlayer = try AVAudioPlayer(contentsOf: cymbalPath, fileTypeHint: nil)
78
68
 
79
69
 
80
-
81
- // シンバルの音源再生
82
70
 
83
71
  cymbalPlayer.play()
84
72
 
85
73
  } catch {
86
74
 
87
- print("シンバルで、エラーが発生しました")
75
+ print("シンバルで、エラーが発生しました")
88
76
 
89
77
  }
90
78
 
@@ -112,8 +100,6 @@
112
100
 
113
101
  super.viewDidLoad()
114
102
 
115
- // Do any additional setup after loading the view, typically from a nib.
116
-
117
103
  }
118
104
 
119
105
 
@@ -122,13 +108,9 @@
122
108
 
123
109
  super.didReceiveMemoryWarning()
124
110
 
125
- // Dispose of any resources that can be recreated.
126
-
127
111
  }
128
112
 
129
113
 
130
-
131
- // シンバルの音源ファイルを指定
132
114
 
133
115
  let cymbalPath = Bundle.main.bundleURL.appendingPathComponent("cymbal.mp3")
134
116
 
@@ -138,19 +120,15 @@
138
120
 
139
121
  do {
140
122
 
141
- // シンバル用のプレイヤーインスタンスを作成
142
-
143
123
  var cymbalPlayer = try AVAudioPlayer(contentsOf: cymbalPath, fileTypeHint: nil)
144
124
 
145
125
 
146
-
147
- // シンバルの音源再生
148
126
 
149
127
  cymbalPlayer.play()
150
128
 
151
129
  } catch {
152
130
 
153
- print("シンバルで、エラーが発生しました")
131
+ print("シンバルで、エラーが発生しました")
154
132
 
155
133
  }
156
134
 

1

2019/01/21 14:40

投稿

vlb
vlb

スコア109

test CHANGED
File without changes
test CHANGED
File without changes