teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

エラーメッセージの追加

2015/12/04 01:54

投稿

mottyan23
mottyan23

スコア13

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,8 @@
5
5
  ###発生している問題・エラーメッセージ
6
6
  extensionでクラスを拡張する時にエラーが出る.
7
7
 
8
+ エラーメッセージ:Declaration is only valid at file scope
9
+
8
10
  ###ソースコード
9
11
  ```swift
10
12
 
@@ -64,6 +66,6 @@
64
66
  ###補足情報(言語/FW/ツール等のバージョンなど)
65
67
  XcodeもIOSのバージョンも最新(2015年12月現在)の物を使用しています。
66
68
 
67
- まだプログラミングを始めたばかりで何もわかっていませんが、何かアプリを作りたいと思い、色判別を行ってみようと思いました。
69
+ まだプログラミングを始めたばかりで何もわかっていませんが、何かアプリを作りたいと思い、カメラを用いた色判別を行ってみようと思いました。
68
70
 
69
71
  extensionを行う位置や、行う為に何をしたら良いのかを教えていただきたいです。

2

ソースコードの修正

2015/12/04 01:54

投稿

mottyan23
mottyan23

スコア13

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,7 @@
7
7
 
8
8
  ###ソースコード
9
9
  ```swift
10
+
10
11
  import UIKit
11
12
 
12
13
  class ViewController: UIViewController{
@@ -19,62 +20,47 @@
19
20
  func getColor(pos: CGPoint) -> UIColor {
20
21
 
21
22
  let imageData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
22
- let data : UnsafePointer = CFDataGetBytePtr(imageData) let scale = UIScreen.mainScreen().scale
23
+ let data : UnsafePointer = CFDataGetBytePtr(imageData)
24
+ let scale = UIScreen.mainScreen().scale
23
- let address : Int = ((Int(self.size.width) * Int(pos.y * scale)) + Int(pos.x * scale)) * pixelDataByteSize
25
+ let address : Int = ((Int(self.size.width) * Int(pos.y * scale)) + Int(pos.x * scale)) * pixelDataByteSize
24
- let r = CGFloat(data[address])
26
+ let r = CGFloat(data[address])
25
- let g = CGFloat(data[address+1])
27
+ let g = CGFloat(data[address+1])
26
- let b = CGFloat(data[address+2])
28
+ let b = CGFloat(data[address+2])
27
- let a = CGFloat(data[address+3])
29
+ let a = CGFloat(data[address+3])
28
30
 
29
- return UIColor(red: r, green: g, blue: b, alpha: a)
31
+ return UIColor(red: r, green: g, blue: b, alpha: a)
30
- }
32
+ }
31
- }
33
+ }
32
34
  override func viewDidLoad() {
33
- super.viewDidLoad()
35
+ super.viewDidLoad()
34
36
 
37
+ // 画面の背景色をグレーにする
38
+ self.view.backgroundColor = UIColor.lightGrayColor()
35
39
 
36
-
37
- // 画面の背景色をグレーにする
38
- self.view.backgroundColor = UIColor.lightGrayColor()
39
-
40
-
41
-
42
- // イメージビューを作る
40
+ // イメージビューを作る
43
- let rect = CGRect(x: 0, y: 0, width: 300, height: 200)
41
+ let rect = CGRect(x: 0, y: 0, width: 300, height: 200)
44
- let imageView = UIImageView(frame: rect)
42
+ let imageView = UIImageView(frame: rect)
45
-
46
-
47
- // イメージの表示モード
43
+ // イメージの表示モード
48
- imageView.contentMode = .ScaleAspectFit
44
+ imageView.contentMode = .ScaleAspectFit
49
-
50
-
51
- // イメージビューにイメージを設定する
45
+ // イメージビューにイメージを設定する
52
- imageView.image = UIImage(named: "sheep.jpg")
46
+ imageView.image = UIImage(named: "sheep.jpg")
53
-
54
-
55
- // イメージビューの座標をルートビューの中央に設定する
47
+ // イメージビューの座標をルートビューの中央に設定する
56
- imageView.center = self.view.center
48
+ imageView.center = self.view.center
57
-
58
-
59
- // イメージビューをルートビューに追加(表示)する
49
+ // イメージビューをルートビューに追加(表示)する
60
- self.view.addSubview(imageView)
50
+ self.view.addSubview(imageView)
61
51
  }
62
52
 
63
53
  override func didReceiveMemoryWarning() {
64
- super.didReceiveMemoryWarning()
54
+ super.didReceiveMemoryWarning()
65
-
55
+ // Dispose of any resources that can be recreated.
56
+ }
66
57
 
67
- // Dispose of any resources that can be recreated.
68
-
69
58
 
70
- }
59
+ }
71
60
 
72
61
 
73
- }
62
+ ```
74
63
 
75
- }
76
- }```
77
-
78
64
  ###補足情報(言語/FW/ツール等のバージョンなど)
79
65
  XcodeもIOSのバージョンも最新(2015年12月現在)の物を使用しています。
80
66
 

1

コードのインデントを揃えました

2015/12/03 22:51

投稿

mottyan23
mottyan23

スコア13

title CHANGED
@@ -1,1 +1,1 @@
1
- extensionを使用してクラスを拡張したい
1
+ [swift2]extensionを使用してクラスを拡張したい
body CHANGED
@@ -19,42 +19,59 @@
19
19
  func getColor(pos: CGPoint) -> UIColor {
20
20
 
21
21
  let imageData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
22
- let data : UnsafePointer = CFDataGetBytePtr(imageData)
22
+ let data : UnsafePointer = CFDataGetBytePtr(imageData) let scale = UIScreen.mainScreen().scale
23
- let scale = UIScreen.mainScreen().scale
24
- let address : Int = ((Int(self.size.width) * Int(pos.y * scale)) + Int(pos.x * scale)) * pixelDataByteSize
23
+ let address : Int = ((Int(self.size.width) * Int(pos.y * scale)) + Int(pos.x * scale)) * pixelDataByteSize
25
- let r = CGFloat(data[address])
24
+ let r = CGFloat(data[address])
26
- let g = CGFloat(data[address+1])
25
+ let g = CGFloat(data[address+1])
27
- let b = CGFloat(data[address+2])
26
+ let b = CGFloat(data[address+2])
28
- let a = CGFloat(data[address+3])
27
+ let a = CGFloat(data[address+3])
29
28
 
30
- return UIColor(red: r, green: g, blue: b, alpha: a)
29
+ return UIColor(red: r, green: g, blue: b, alpha: a)
31
- }
30
+ }
32
- }
31
+ }
33
32
  override func viewDidLoad() {
34
- super.viewDidLoad()
33
+ super.viewDidLoad()
35
34
 
36
- // 画面の背景色をグレーにする
37
- self.view.backgroundColor = UIColor.lightGrayColor()
38
35
 
36
+
37
+ // 画面の背景色をグレーにする
38
+ self.view.backgroundColor = UIColor.lightGrayColor()
39
+
40
+
41
+
39
- // イメージビューを作る
42
+ // イメージビューを作る
40
- let rect = CGRect(x: 0, y: 0, width: 300, height: 200)
43
+ let rect = CGRect(x: 0, y: 0, width: 300, height: 200)
41
- let imageView = UIImageView(frame: rect)
44
+ let imageView = UIImageView(frame: rect)
45
+
46
+
42
- // イメージの表示モード
47
+ // イメージの表示モード
43
- imageView.contentMode = .ScaleAspectFit
48
+ imageView.contentMode = .ScaleAspectFit
49
+
50
+
44
- // イメージビューにイメージを設定する
51
+ // イメージビューにイメージを設定する
45
- imageView.image = UIImage(named: "sheep.jpg")
52
+ imageView.image = UIImage(named: "sheep.jpg")
53
+
54
+
46
- // イメージビューの座標をルートビューの中央に設定する
55
+ // イメージビューの座標をルートビューの中央に設定する
47
- imageView.center = self.view.center
56
+ imageView.center = self.view.center
57
+
58
+
48
- // イメージビューをルートビューに追加(表示)する
59
+ // イメージビューをルートビューに追加(表示)する
49
- self.view.addSubview(imageView)
60
+ self.view.addSubview(imageView)
50
61
  }
51
62
 
52
63
  override func didReceiveMemoryWarning() {
53
- super.didReceiveMemoryWarning()
64
+ super.didReceiveMemoryWarning()
65
+
66
+
54
- // Dispose of any resources that can be recreated.
67
+ // Dispose of any resources that can be recreated.
68
+
69
+
55
70
  }
56
71
 
57
72
 
73
+ }
74
+
58
75
  }
59
76
  }```
60
77