質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

586閲覧

swift4.2 イベント発生時に既存のviewController(Storyboard?)を複製していきたい

mogiruri

総合スコア37

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/03/07 09:55

編集2019/03/07 09:57

こんにちは。

StroyBoradを用いてリストのようなアプリを作成しています。

Main.storyboardは
1.MainVC(tableViewのリスト等)
2.itemVC(cellの設定やアイテムの追加等)
3.SettingVC(その他設定等)
という三つのVCで構成されており、機能等は完成しております。(VC内のオブジェクトはMainSBとリンク)

ここでこれらをオブジェクト1と大きな括りとし、ここからmainVCに配置したUIButonなどのイベントを用いて丸々新しいオブジェクト2として作成、遷移し、それぞれ**array[○○会社名簿, ✖️✖️会社名簿...]**のように管理したいです。

3つのVCはそれぞれMain.storyboardにリンクしているので
storyBoardごと複製できないものかと

swift

1let newSB = UIStoryboard(name: "newSB", bundle: nil) 2let newMain = newSB.instantiateViewController(withIdentifier: "MainVC") as! MainVC 3self.present(newMain, animated: true, completion: nil)

と新しいUIStoryboardのインスタンスの作成を試みましたが、落ちてしましました。

このようなことは可能でしょうか?
それか、複製の作り方、考え方が間違っているようであれば、他の手段はありますでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2019/03/07 10:24 編集

複製っていうのはオブジェクト1の内容を引き継ぐってことですか?それとも、単に新規のオブジェクトを作るってことですか?
mogiruri

2019/03/07 10:50

コメントありがとうございます。 そのオブジェクト1のリスト内のデータ(セルのラベルや個数)は引き継がず、違うデータをまとめる為にまるまる別のリストを作成するといった感じです。 mainVCだけイベント発生時に新規インスタンスを作成して、アイテム追加や設定等は既存のVCたちを使用し、分岐させて値をそれぞれの作成されたmainVCのコピーに渡した方が懸命でしょうか? mainVCのセルのデータはstructで作成し、array : [structData] で管理しているので、新しいリストのデータは再度structデータを作成しarrayForObject2 : [structData] のようにしてみるのはどうかと、今ふと思いました。
fuzzball

2019/03/08 00:10

オブジェクト1のデータを初期化すればいいだけではないのですか?
mogiruri

2019/03/08 10:08

なるほど、初期化して新しいデータをtabelViewに作り直すということですか。(mainVCのtableViewをホワイトボードのようにあくまでデータを載せる台として使用し、セルデータをまたそこに書いていきそれをまた保存、といった認識であってますか?) これだと確かにいちいちVCを複製しなくてすみそうです。
fuzzball

2019/03/08 10:19

あってます。
mogiruri

2019/03/08 13:17

ありがとうございます!解決の糸口が見えました。この線でトライしてみようと思います。
guest

回答1

0

正直にいうと、実現したいことはよくわかりませんですが、しかし、どうなっても「storyBoardごと複製」って、それをしないでください。

オブジェクト2って新しいViewControllerを作って、必要なデーターを表示した方がいいではないでしょうか。

よろしくお願いします。

投稿2019/03/07 10:11

編集2019/03/07 10:12
vanderlvov

総合スコア685

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mogiruri

2019/03/07 10:37

やはり必要な部分だけを正確に複製したほうがいいですよね。storyboardの複製というのは危ないものなのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問