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

回答編集履歴

6

訂正

2020/04/10 02:26

投稿

退会済みユーザー
answer CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  追記
78
78
 
79
- 適当に作ったの参考にしてみてください
79
+ 面倒なので、適当に作ったの置いときます。参考にでもしてみてください
80
80
 
81
81
  [gitHub](https://github.com/tyobigoro/tContextMenuOnTableView)
82
82
 

5

訂正

2020/04/10 02:26

投稿

退会済みユーザー
answer CHANGED
@@ -70,4 +70,14 @@
70
70
 
71
71
  また、遷移先で一つのボタンで編集と新規作成行う(戻る処理)ようですが、このままだとプログラムがどちらの処理なのかわからないので、そのへんを切り分ける処理も必要になります。
72
72
 
73
- もう用意してあればいいですが。
73
+ もう用意してあればいいですが。
74
+
75
+ ---
76
+
77
+ 追記
78
+
79
+ 適当に作ったので参考にしてみてください
80
+
81
+ [gitHub](https://github.com/tyobigoro/tContextMenuOnTableView)
82
+
83
+ これができないのに新しいものに手を出してなにかできるとは思えませんが…。

4

訂正

2020/04/10 02:21

投稿

退会済みユーザー
answer CHANGED
@@ -35,4 +35,39 @@
35
35
 
36
36
  }
37
37
  }
38
- ```
38
+ ```
39
+
40
+ ---
41
+ 追記
42
+
43
+ 矢印1本でもできますが、どうしても2本でやりたいなら↓のようにしたら?
44
+ セグエの矢印には別々のidentifierを設定してください。
45
+ セルからVCに矢印を貼るとdidSelect内のコードが動く前に遷移します。
46
+
47
+ ```swift
48
+ //選んだセルの特定と画面遷移
49
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
50
+ let str: = nikkinaiyou[indexPath.row]
51
+ // identifierが"edit"のセグエの矢印を実行する
52
+ performSegue(withIdentifier: "edit", sender: str)
53
+ }
54
+
55
+ //画面遷移後に値渡しを行う
56
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
57
+ if segue.identifier == "edit" {
58
+      // identifierが"edit"のセグエの矢印を実行する場合のみ値を遷移先にわたす。
59
+ let str: String? = sender as? String
60
+ let vc = segue.destination as? AddViewController
61
+ vc?. watasitext = str
62
+ }
63
+ }
64
+ ```
65
+
66
+ 戻ってくる処理はいまのままだと無限ぐるぐるになってるので、unwindSegueで設定し直してください。
67
+ storyBoard上の戻ってくる矢印は不要です。
68
+
69
+ [古いけどなんとかなるでしょ](https://yuu.1000quu.com/judgment_of_unwind_segue)
70
+
71
+ また、遷移先で一つのボタンで編集と新規作成行う(戻る処理)ようですが、このままだとプログラムがどちらの処理なのかわからないので、そのへんを切り分ける処理も必要になります。
72
+
73
+ もう用意してあればいいですが。

3

Printデバックぐらい自分でやろうよ

2020/04/09 22:47

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,38 @@
1
1
  エラーが出てる部分の、watasi.watasitext = selectedtext!の最後の!を削除して実行したらどうなりますか?
2
2
 
3
+ ---
4
+ 追記
5
+
3
- 矢印が多いのと、両画面ともmodalなのは意図してやってることですか?
6
+ 矢印が多いのと、両画面ともmodalなのは意図してやってることですか?
7
+ 参考にされてるページも...ですが、参考にされてるページとだいぶ違っているように見えますよ。
8
+
9
+
10
+ 3つのメソッド内で変数の値を調べて、コンソールに表示される文字を教えて下さい。
11
+ そのあと、"あああ"と打ったらうまくいくという方法で同じことを行って、結果を教えて下さい。
12
+
13
+ ```swift
14
+    //選んだセルの特定と画面遷移
15
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
16
+ selectedtext = nikkinaiyou[indexPath.row]
17
+ print("didSelectRowAt/selectedtext: (selectedtext)"  // <= 追加して
18
+ performSegue(withIdentifier: "edit", sender: nil)
19
+ }
20
+
21
+ //画面遷移後に値渡しを行う
22
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
23
+ print("prepare/selectedtext: (selectedtext)" // <= 追加して
24
+ let watasi:AddViewController = (segue.destination as? AddViewController)!
25
+ watasi.watasitext = selectedtext!
26
+ }
27
+
28
+ class AddViewController: UIViewController {
29
+
30
+ //画面を開いたときに起こるアクション
31
+ override func viewDidLoad() {
32
+ super.viewDidLoad()
33
+      print("AddViewController/watasitext: (watasitext)" // <= 追加して
34
+ nikkiText.text = watasitext
35
+
36
+ }
37
+ }
38
+ ```

2

訂正

2020/04/09 10:34

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,3 @@
1
- エラーが出てる部分の、watasi.watasitext = selectedtext!の最後の!を削除して実行したらどうなりますか?
1
+ エラーが出てる部分の、watasi.watasitext = selectedtext!の最後の!を削除して実行したらどうなりますか?
2
+
3
+ 矢印が多いのと、両画面ともmodalなのは意図してやってることですか?

1

訂正

2020/04/09 08:24

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,1 @@
1
- watasi.watasitext = selectedtext!の最後の!を削除して実行したらどうなりますか?
1
+ エラーが出てる部分の、watasi.watasitext = selectedtext!の最後の!を削除して実行したらどうなりますか?