質問編集履歴
5
質問内容を追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -72,4 +72,44 @@
|
|
72
72
|
|
73
73
|
また、listData1〜3なども画面上は隠れている間メモリにもっているかと思うのですが、どこか(ファイルなどのストレージ)に退避させるなどをするのが一般的なのでしょうか?
|
74
74
|
|
75
|
-
はじめてのアプリということもあって、やっていてこんなやりかたでいいのか?ってかなり困惑しています。どなたかアドバイスいただけないでしょうか
|
75
|
+
はじめてのアプリということもあって、やっていてこんなやりかたでいいのか?ってかなり困惑しています。どなたかアドバイスいただけないでしょうか
|
76
|
+
|
77
|
+
以下、追記します
|
78
|
+
|
79
|
+
画面のイメージとしては以下のようなものとします
|
80
|
+
・ユーザの一覧画面(各セルにフォローボタンがある)
|
81
|
+
・ユーザの詳細画面(フォローボタンがある)
|
82
|
+
|
83
|
+
ユーザのアクションとして
|
84
|
+
・一覧画面でフォローボタンをおせる
|
85
|
+
・一覧画面でセルをタップすると詳細画面へ遷移する
|
86
|
+
・詳細画面でフォローボタンをおせる
|
87
|
+
・詳細画面から一覧画面へ戻ることができる
|
88
|
+
※ここでは2階層としていますがが、実際には詳細画面からまた別の一覧画面へ遷移したりと階層がどんどん深くなっていきます
|
89
|
+
|
90
|
+
検討すべき処理のイメージとして
|
91
|
+
ListViewController.swift
|
92
|
+
`
|
93
|
+
ListViewController : UIViewController {
|
94
|
+
var listData
|
95
|
+
viewDidLoad() {
|
96
|
+
// apiなどからデータを取得してlistDataに保持
|
97
|
+
}
|
98
|
+
viewWillAppear() {
|
99
|
+
// listDataと①で保存したデータを付き合わせてViewをつくる
|
100
|
+
}
|
101
|
+
}
|
102
|
+
`
|
103
|
+
|
104
|
+
DetailViewController.swift
|
105
|
+
`
|
106
|
+
DetailViewController : UIViewController {
|
107
|
+
var data
|
108
|
+
viewDidLoad() {
|
109
|
+
// apiなどからデータを取得してdataに保持
|
110
|
+
}
|
111
|
+
func フォローボタンがおされたら() {
|
112
|
+
// フォローしたユーザIDをファイルやDBなどに保持・・・①
|
113
|
+
}
|
114
|
+
}
|
115
|
+
`
|
4
誤記があったため
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,9 +36,9 @@
|
|
36
36
|
`
|
37
37
|
ViewController1: BaseViewController {
|
38
38
|
|
39
|
-
var listData1: Dictionary<String,AnyObject>? // data1のリスト
|
39
|
+
var listData1: [Dictionary<String,AnyObject>]? // data1のリスト
|
40
|
-
var listData2: Dictionary<String,AnyObject>? // data2のリスト
|
40
|
+
var listData2: [Dictionary<String,AnyObject>]? // data2のリスト
|
41
|
-
var listData3: Dictionary<String,AnyObject>? // data3のリスト
|
41
|
+
var listData3: [Dictionary<String,AnyObject>]? // data3のリスト
|
42
42
|
|
43
43
|
override setUp() {
|
44
44
|
NSNotificationCenter.defaultCenter().addObserver(self, selector: "updateData1:", name: "data1", object: nil)
|
@@ -54,8 +54,8 @@
|
|
54
54
|
// data1が更新されたさいに通知される
|
55
55
|
func updateData1(notification: NSNotification) {
|
56
56
|
for var i = 0; i < self.listData1.count; i++ {
|
57
|
-
if notification.userInfo["id"] as! String == self.listData1[i]["id"] as! String {
|
57
|
+
if notification.userInfo["data1"]["id"] as! String == self.listData1[i]["id"] as! String {
|
58
|
-
self.listData1[i] = notification.userInfo["id"]
|
58
|
+
self.listData1[i] = notification.userInfo["data1"]["id"]
|
59
59
|
break;
|
60
60
|
}
|
61
61
|
}
|
3
不足があったため
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,6 +32,7 @@
|
|
32
32
|
}
|
33
33
|
`
|
34
34
|
|
35
|
+
ViewController1.swift
|
35
36
|
`
|
36
37
|
ViewController1: BaseViewController {
|
37
38
|
|
@@ -69,4 +70,6 @@
|
|
69
70
|
|
70
71
|
画面数的には100画面を超えていて、data1〜3のようなデータも20パターンくらいあります。
|
71
72
|
|
73
|
+
また、listData1〜3なども画面上は隠れている間メモリにもっているかと思うのですが、どこか(ファイルなどのストレージ)に退避させるなどをするのが一般的なのでしょうか?
|
74
|
+
|
72
75
|
はじめてのアプリということもあって、やっていてこんなやりかたでいいのか?ってかなり困惑しています。どなたかアドバイスいただけないでしょうか
|
2
不足があったため
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,6 +58,7 @@
|
|
58
58
|
break;
|
59
59
|
}
|
60
60
|
}
|
61
|
+
// VIewの再描画など
|
61
62
|
}
|
62
63
|
|
63
64
|
// data2、data3についてもdata1と同様の関数を用意
|
1
誤記があったため
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,6 +32,7 @@
|
|
32
32
|
}
|
33
33
|
`
|
34
34
|
|
35
|
+
`
|
35
36
|
ViewController1: BaseViewController {
|
36
37
|
|
37
38
|
var listData1: Dictionary<String,AnyObject>? // data1のリスト
|
@@ -61,10 +62,10 @@
|
|
61
62
|
|
62
63
|
// data2、data3についてもdata1と同様の関数を用意
|
63
64
|
}
|
65
|
+
`
|
64
66
|
|
65
67
|
こんなかんじでviewController毎に必要な箇所で必要なプロパティのNSNotificationCenterを実装している形になっています。
|
66
68
|
|
67
69
|
画面数的には100画面を超えていて、data1〜3のようなデータも20パターンくらいあります。
|
68
70
|
|
69
|
-
やっていてこんなやりかたでいいのか?ってかなり困惑しています。
|
71
|
+
はじめてのアプリということもあって、やっていてこんなやりかたでいいのか?ってかなり困惑しています。どなたかアドバイスいただけないでしょうか
|
70
|
-
どなたかアドバイスいただけないでしょうか
|