【Swift】意外と簡単!selfの使い方を解説!

どうも、はるかす(@mametyralove)です。

プログラミング、Swiftを勉強し始めた人はself.〜が何なのか理解できない人が多いみたいです。
実際僕も何度か調べてやっと理解しました(したはず)。

とにかく、今回はわかりやすいプログラムと一緒にコメントも含めて紹介していきます。

参考にしたページはこちらです。

selfを理解するために必要なこと

selfを理解するためのサンプルコードはクラスと関数の書き方を少しだけ理解していれば大丈夫です。

かなり初歩的なコードで説明していますので安心してください。
また、Xcodeの使い方も理解しているのは言うまでもありません。
一応言っておきますけど。

それではselfの解説に移りましょう。

 

selfを解説

サンプルコード

今回はこのコードを使って解説していきます。
ここでは「そういやselfってこんなところに置いてあったな。意味はわからんけど。」くらいに思っていただいて大丈夫です。
あとでちゃんと解説します。

このコードを実行すると、

1
2

という結果になります。

selfの使い方

selfを簡単に解説しますと、同じクラス内の何かにアクセスしたい時に使うことができます。

サンプルコードのselfを使った部分では、classTestというクラスにある定数testにアクセスしています。
関数外にある定数testにアクセスしているわけです。
なのでprintで表示されるのは「1」。

一方、selfを使っていない方はそのまま関数内にある定数testにアクセスしています。
なのでprintで表示されるのは「2」。

なんとなく理解できましたか?
一応触れておきますが、

print(String(test))

というコードの意味は、

文字型にしてtestを表示する。

という意味です。
プログラミングは解釈にうるさいので、正確な表現とは言えませんが、そんな感じだと思っておいてください。

処理を実行する(おまけ)

一応selfについては今ので理解はできたと思うんですが、まだselfの使い方で置いたコードではサンプルコードのような実行結果にはなりません。
それどころか、まだ何も表示されません。

というのも、まだ関数に処理をおいて置いただけだからです。
つまり「funcTest」って名前のこんな処理があるよ〜っていう状態なのです。

これを実行するには、関数を呼び出して実行する必要があります。
まぁ実行するのはとても簡単で、classTestの外で以下のコードを記述すれば良いのです。

classTest().funcTest()

コードの意味は、classTestというクラスのfuncTestという関数を実行するというものです。
ね?簡単でしょ?

全コードを確認したい場合は、サンプルコードまで戻って確認してみてください。
お疲れ様でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です