スポンサーリンク

【swift/Xcode】swiftのextensionの使い方。(Xcodeのプロジェクトに応用する方法)

Swift
スポンサーリンク
スポンサーリンク

【swift/Xcode】swiftのextensionの使い方。(Xcodeのプロジェクトに応用する方法)

今回の記事ではswiftの便利なextension機能について記載指定いきます。
大体のgit等に上がっているAppleのものも基本的にextensionフォルダを作ってXcodeプロジェクトの中で自由に利用できるようにしているようなので、そういったものを利用する際にも必要になってくる知識です。

まず端的にextensionとは何かというと、クラスの機能拡張を行いどこからでも使用できるようになるものという認識で問題ないと思っています。
では具体例を含め内容記載していきます。

めんどくさいのでXcodeにてボタンを押せばコンソールに文字を出力するようにボタンの設置とそのボタンにActionを付け加えました。

これでExtensionの機能をこのアクション内に記載していけばすぐに確認を行うことができますね。

では確認の準備もできたのでみていきましょう。

extensionを同じファイルから利用する

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    
    


    @IBAction func extension_test(_ sender: Any) {
        //Wordクラスのインスタンスを作成
        var word = Word()
        word.extension_print()
        //class内の関数
        word.updateword(newName:"extension_test2")
        //classを拡張したもの
        print("test")
    }
}

class Word {
    var word = "extension_test1"
    func extension_print() {
        print(word)
    }
}
extension Word {
    func updateword(newName:String) {
        word = newName
        print(word)  //更新したword出力
    }
}

念のためXcode内のcontrollerview.swiftに記載しております。
解説をするとclassにてwordを出力する関数があるのですがそれをさらに拡張させて使用しています。拡張機能としてはwordの中身を変更するというもの。

これでエミュレータに実行し、buttonを押すとコンソールに出力させることができます。

まとめるとWordクラスの機能を拡張(extention)させる機能が付きます。

別ファイルのextension機能を実行する

次に別ファイルからextensionさせる機能について紹介します。
iOSのプロジェクトを作っていく場合、おそらくExtensionファイルに全てのextension機能をまとめるともいますのでこちらの方が出現頻度は高いかもしれません。

とは言っても簡単です。
先ほど作成したファイルと同じXcodeプロジェクトの中で、extensionを別のファイルに保存させて別swiftファイルを作成しExtension機能追加させて実行して確認してみましょう。

extension Wordを削除した瞬間はエラー表示が出ますが、extension.swiftにextensionの記述を書けばエラーは消えます。これで実行してみればさっきと同じ結果になっているはず。

つまりextension機能を利用する際は特に何か操作をする必要はなくextensionの宣言下かつプロジェクトないならどこからでも拾ってこれるみたいです。

要はプロジェクトをする際にextension専用のファイルを作っている理由は簡易しやすい様にまとめているためですね。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

タイトルとURLをコピーしました