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

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

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

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

Q&A

解決済

1回答

2791閲覧

[Swift4] 他クラスのメンバーへのアクセス方法

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

1クリップ

投稿2018/01/12 09:03

他のクラスファイルのメンバーへのアクセス方法について教えてください。

アクセス権を設定していない2つのクラスファイルがあるとすると,
双方のアクセス権はinternalになると思います。
プロパティ・メソッドにもアクセス権を設定していないと、internalになると思います。
資料などを読むと、
「internalは別のファイルからでも自由に利用できる設定です。」と書いてありますが、

別クラスファイルから他クラスファイルののプロパティ・メソッドを利用するには、
他クラスをインスタンス化してプロパティ・メソッドを利用しなければならないのでしょうか?

インスタンス化せずに他クラスのプロパティ・メソッドを利用することはできるのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

具体的に何がやりたいのかよく分かりませんが、staticによって実現できると思います。
過去の質問の中で以下が参考になります。

static という言葉の意味が分からない。

投稿2018/01/12 18:22

nakasho_dev

総合スコア2655

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

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

退会済みユーザー

退会済みユーザー

2018/01/14 06:14

回答ありがとうございます。 「internalは別のファイルからでも自由に利用できる設定です。」 という表現から、グローバル変数やグローバルメソッドのようにアクセスできるのではないかという印象を持って混乱していました。 staticで宣言することで他クラスから簡潔に呼び出すことができました。 またclassプロパティ・メソッドも同じような感じですね。 他クラスにoutlet接続してあるテーブルビューやコレクションビューを更新する場合、 現在はnotificationCenterを利用しているのですが、より簡潔な方法はないのでしょうか?
nakasho_dev

2018/01/14 07:18

notificationCenterはGoTo文のようなものになりがちでメンテナンス性が下がるため多用はしない方が良いです。 DI(Dependency Injection)について学習すると良いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問