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

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

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

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

1回答

1402閲覧

引数にオブジェクトを指定して関数に投げる方法を教えてださい。

chrokurojp

総合スコア26

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/01/14 16:19

編集2016/01/14 16:39

引数にオブジェクトを指定して関数に投げる方法を教えてださい。

A_Class.swift
B_Class.swift
ViewControler.swift

というファイルがある状態で
Bをモデルオブジェクトとして
扱いたいという状況です。

下記のような非常にシンプルな状態です。

swift:B_Class.swift

1import UIKit 2 3class B_Class: NSObject { 4 var textA: String = "" 5 var textB: String = "" 6 var textC: String = "" 7}

そしてA_Class.swiftの中で
下記のようにB_Class.swiftを
インスタンス化して各プロパティに
値を代入します

さらに、その後ViewControllerで
B_Class()からインスタンス化した
modelを使う(参照・代入)には
どうしたらいいのか教えてください

調べてみたもののシングルトンを使うのか
getter・setterを使えべきなのさえもよく
わかっていない状況です

swift:B_Class.swift

1import UIKit 2 3class A_Class: NSObject { 4 var model = B_Class() 5 model.textA = "AAA" 6 model.textB = "BBB" 7 model.textC = "CCC" 8}

swift:B_Class.swift

1import UIKit 2 3class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 8 } 9 10 func model_method(){ 11 12 } 13 14 override func didReceiveMemoryWarning() { 15 super.didReceiveMemoryWarning() 16 } 17}

A_Class.swift 最初にB_Classをインスタンス化してプロパティに値を代入している
B_Class.swift データオブジェクト
ViewControler.swift A_ClassにてB_Classのモデルインスタンスのプロパティに代入されたデータを参照したい

という関係です

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

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

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

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

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

Stripe

2016/01/14 16:24

A_ClassとViewControllerとの関係は?
chrokurojp

2016/01/14 16:35

A_Class.swift 最初にB_Classをインスタンス化してプロパティに値を代入している B_Class.swift データオブジェクト ViewControler.swift A_ClassにてB_Classのモデルインスタンスのプロパティに代入されたデータを参照したい という関係です
Stripe

2016/01/14 17:34

A_Classは、どこでインスタンス化されますか?
guest

回答1

0

まず、 A_Class の記述ではビルドが通りません。

これでは答えようがないため、
「A_Class から B_Class のプロパティ設定処理をイニシャライザで行う」
ものと仮定します。

その場合ですと「A_ClassにてB_Classのモデルインスタンスのプロパティに代入されたデータを参照したい」の答えは次の通りです。

Swift

1let modelA = A_Class() 2let answer = modelA.model.textA

投稿2019/03/24 09:24

errolizer

総合スコア441

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問