回答編集履歴

4

再修正

2015/12/08 20:33

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,29 +1,119 @@
1
- 勘違いしていたので修正しました。
1
+ 再度修正しました。
2
2
 
3
+ こちらの環境はXcode7.1です。
4
+
5
+
6
+
7
+ 齟齬が無い様にswiftコードとplist(XML)のコードを載せておきます。
8
+
9
+
10
+
3
- 多分これで良いかと、、、
11
+ これで以下様に出力されました。
12
+
13
+ Answer = 答え
14
+
15
+ Dog = 犬
16
+
17
+ And = 同じ
4
18
 
5
19
 
6
20
 
7
21
  ```swift
8
22
 
9
- if let dict = dictionary.objectForKey("Word") {
23
+ import UIKit
10
24
 
11
-
12
25
 
13
- let Adict = dict as! NSMutableDictionary
14
26
 
15
-
27
+ class ViewController: UIViewController {
16
28
 
29
+
30
+
17
- if let answearDict = Adict.objectForKey("A") {
31
+ override func viewDidLoad() {
32
+
33
+ super.viewDidLoad()
18
34
 
19
35
 
20
36
 
21
- print("Dog = \(answearDict["Dog"] as! String)")
37
+ let path = NSBundle.mainBundle().pathForResource("English", ofType: "plist")
22
38
 
39
+ let dictionary: NSDictionary = NSDictionary(contentsOfFile: path!)!
40
+
41
+
42
+
43
+
44
+
45
+ if let wordDict = dictionary["Word"] {
46
+
23
- //=> Dog = 犬
47
+ if let Adict = wordDict["A"] {
48
+
49
+ for (Eng, Jap) in Adict as! Dictionary<String, String> {
50
+
51
+ print("\(Eng)" + " = " + "\(Jap)")
52
+
53
+ }
54
+
55
+ }
56
+
57
+ }
58
+
59
+ }
60
+
61
+
62
+
63
+ override func didReceiveMemoryWarning() {
64
+
65
+ super.didReceiveMemoryWarning()
24
66
 
25
67
  }
26
68
 
27
69
  }
28
70
 
71
+
72
+
29
73
  ```
74
+
75
+
76
+
77
+
78
+
79
+ ```xml
80
+
81
+ <?xml version="1.0" encoding="UTF-8"?>
82
+
83
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
84
+
85
+ <plist version="1.0">
86
+
87
+ <dict>
88
+
89
+ <key>Word</key>
90
+
91
+ <dict>
92
+
93
+ <key>A</key>
94
+
95
+ <dict>
96
+
97
+ <key>Dog</key>
98
+
99
+ <string>犬</string>
100
+
101
+ <key>And</key>
102
+
103
+ <string>同じ</string>
104
+
105
+ <key>Answer</key>
106
+
107
+ <string>答え</string>
108
+
109
+ </dict>
110
+
111
+ </dict>
112
+
113
+ </dict>
114
+
115
+ </plist>
116
+
117
+
118
+
119
+ ```

3

修正

2015/12/08 20:33

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,22 +1,10 @@
1
- > Dog string  犬
1
+ 勘違いしていたので修正しました。
2
2
 
3
- > という風に書いていて「Dog = 犬」と、取り出したいのですがplistではできないでしょうか?
4
-
5
-
6
-
7
- ちょっとの部分が理解きないのですが、、、すみません。
3
+ 多分いのかと、、、
8
-
9
- 値は以下の様にしてとりだせます。
10
-
11
-
12
-
13
- 多分イメージと違うかもしれないので、分からなかったら聞いてください。
14
4
 
15
5
 
16
6
 
17
7
  ```swift
18
-
19
-
20
8
 
21
9
  if let dict = dictionary.objectForKey("Word") {
22
10
 
@@ -30,7 +18,7 @@
30
18
 
31
19
 
32
20
 
33
- print("\(answearDict["Key"] as! String)" + " = " + "\(answearDict["value"] as! String)")
21
+ print("Dog = \(answearDict["Dog"] as! String)")
34
22
 
35
23
  //=> Dog = 犬
36
24
 

2

回答変更

2015/12/08 14:56

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,19 +1,41 @@
1
+ > Dog string  犬
2
+
1
- Plistの定義こちらはこのようにして実行しましたが同じ様にってますか?
3
+ > という風に書いていて「Dog = 犬」と、取り出したいのですがplistはでないでしょうか?
2
4
 
3
5
 
4
6
 
5
- ![イメージ説明](126203a59fe2cf45a46742de8aea45e2.png)
7
+ ちょっとこの部分が理解できないのですが、、、すみません。
6
8
 
7
-
9
+ 値は以下の様にしてとりだせます。
8
-
9
-
10
10
 
11
11
 
12
12
 
13
- みに直したは以下の箇所のみ
13
+ 多分イメージと違うかもしれので、分からなかったら聞いてください
14
+
15
+
14
16
 
15
17
  ```swift
16
18
 
19
+
20
+
17
- print("\(value["value"] as! String)")
21
+ if let dict = dictionary.objectForKey("Word") {
22
+
23
+
24
+
25
+ let Adict = dict as! NSMutableDictionary
26
+
27
+
28
+
29
+ if let answearDict = Adict.objectForKey("A") {
30
+
31
+
32
+
33
+ print("\(answearDict["Key"] as! String)" + " = " + "\(answearDict["value"] as! String)")
34
+
35
+ //=> Dog = 犬
36
+
37
+ }
38
+
39
+ }
18
40
 
19
41
  ```

1

説明追記

2015/12/08 14:51

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -3,3 +3,17 @@
3
3
 
4
4
 
5
5
  ![イメージ説明](126203a59fe2cf45a46742de8aea45e2.png)
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+ ちなみに直したのは以下の箇所のみです。
14
+
15
+ ```swift
16
+
17
+ print("\(value["value"] as! String)")
18
+
19
+ ```