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

質問編集履歴

6

追記

2016/09/19 08:21

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -68,4 +68,7 @@
68
68
  }
69
69
  }
70
70
  task.resume()
71
- ```
71
+ ```
72
+
73
+ **追記**
74
+ 9/19 17:20に[2]のコードを少し修正しました。(質問の内容には影響してません)

5

修正

2016/09/19 08:21

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -44,7 +44,8 @@
44
44
 
45
45
  **[2]AnyObjectを使ったコード**
46
46
  ```swift
47
- var users: AnyObject?
47
+ var user: AnyObject?
48
+ var location: AnyObject?
48
49
 
49
50
  let url = URL(string: "url")
50
51
  let request = NSMutableURLRequest(URL:url!)
@@ -57,10 +58,11 @@
57
58
  do {
58
59
  let parsedData : AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions(rawValue: 0))
59
60
  //代入
60
- users = parsedData
61
+ user = parsedData["User"]
62
+ location = parsedData["Location"]
61
63
  //表示
62
- print(users["User"])
64
+ print(user)
63
- print(users["Location"])
65
+ print(location)
64
66
  } catch let error1 as NSError {
65
67
  print(error)
66
68
  }

4

コード修正

2016/09/19 08:19

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -24,10 +24,9 @@
24
24
  let postString = "id=1"
25
25
 
26
26
  let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
27
-
28
27
  do {
29
28
  let parsedData = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
30
-
29
+ //代入
31
30
  user = parsedData["User"] as! [[String:Any]]
32
31
  location = parsedData["Location"] as! [[String:Any]]
33
32
  //表示
@@ -36,13 +35,12 @@
36
35
  } catch let error as NSError {
37
36
  print(error)
38
37
  }
39
-
40
38
  }
41
39
  task.resume()
42
40
  ```
43
41
 
44
42
  なぜこのような質問をしたかというと、
45
- swift2の時に、AnyObjectを使っていた時は、下のコードのように変数としてはシンプルな形跡でも使えたので、気になり質問しました。
43
+ swift2の時に、AnyObjectを使っていた時は、下の[2]のコードのように変数としてはシンプルな形跡でも使えたので、気になり質問しました。
46
44
 
47
45
  **[2]AnyObjectを使ったコード**
48
46
  ```swift
@@ -58,6 +56,7 @@
58
56
  data, response, error in
59
57
  do {
60
58
  let parsedData : AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions(rawValue: 0))
59
+ //代入
61
60
  users = parsedData
62
61
  //表示
63
62
  print(users["User"])

3

わかりやすく修正

2016/09/19 08:12

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -10,9 +10,10 @@
10
10
  ]}
11
11
 
12
12
 
13
- このコードで適切でしょうか?
13
+ この[1]のコードで適切でしょうか?
14
14
  エラーは出ていません。
15
+
15
- **Anyを使ったコード**
16
+ **[1]Anyを使ったコード**
16
17
  ```swift
17
18
  var user:[[String:Any]]?
18
19
  var location:[[String:Any]]?
@@ -25,14 +26,15 @@
25
26
  let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
26
27
 
27
28
  do {
28
- let parsedData = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
29
+ let parsedData = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
29
30
 
30
- user = parsedData["User"] as! [[String:Any]]
31
+ user = parsedData["User"] as! [[String:Any]]
31
- location = parsedData["Location"] as! [[String:Any]]
32
+ location = parsedData["Location"] as! [[String:Any]]
33
+ //表示
32
- print(user)
34
+ print(user)
33
- print(location)
35
+ print(location)
34
36
  } catch let error as NSError {
35
- print(error)
37
+ print(error)
36
38
  }
37
39
 
38
40
  }
@@ -42,7 +44,7 @@
42
44
  なぜこのような質問をしたかというと、
43
45
  swift2の時に、AnyObjectを使っていた時は、下のコードのように変数としてはシンプルな形跡でも使えたので、気になり質問しました。
44
46
 
45
- **AnyObjectを使ったコード**
47
+ **[2]AnyObjectを使ったコード**
46
48
  ```swift
47
49
  var users: AnyObject?
48
50
 
@@ -57,6 +59,7 @@
57
59
  do {
58
60
  let parsedData : AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions(rawValue: 0))
59
61
  users = parsedData
62
+ //表示
60
63
  print(users["User"])
61
64
  print(users["Location"])
62
65
  } catch let error1 as NSError {

2

コード修正

2016/09/19 08:10

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -6,8 +6,7 @@
6
6
  {"id":"2","user_name":"B"}
7
7
  ],
8
8
  "Location":[
9
- {"id":"1","location_name":"tokyo"},
9
+ {"id":"1","location_name":"tokyo","test":1}
10
- {"id":"2","location_name":"Osaka"}
11
10
  ]}
12
11
 
13
12
 
@@ -56,8 +55,8 @@
56
55
  let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
57
56
  data, response, error in
58
57
  do {
59
- let anyObj : AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions(rawValue: 0))
58
+ let parsedData : AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions(rawValue: 0))
60
- users = anyObj
59
+ users = parsedData
61
60
  print(users["User"])
62
61
  print(users["Location"])
63
62
  } catch let error1 as NSError {

1

わかりやすく修正

2016/09/19 08:05

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  このコードで適切でしょうか?
15
15
  エラーは出ていません。
16
-
16
+ **Anyを使ったコード**
17
17
  ```swift
18
18
  var user:[[String:Any]]?
19
19
  var location:[[String:Any]]?
@@ -42,6 +42,8 @@
42
42
 
43
43
  なぜこのような質問をしたかというと、
44
44
  swift2の時に、AnyObjectを使っていた時は、下のコードのように変数としてはシンプルな形跡でも使えたので、気になり質問しました。
45
+
46
+ **AnyObjectを使ったコード**
45
47
  ```swift
46
48
  var users: AnyObject?
47
49