【Swift5】Extensions を使用してプロパティを追加する方法

私の場合は NSMutableData を保存する際に使用する write(to:options:) の URL を参照したい場面があったのですが、デフォルトでは参照できないし、新たに URL だけ保持するのも嫌じゃないですか ‾᷅༬‾᷄)
NSMutableData から参照できたらコードもスッキリすんのになぁーと思い、Extensions でプロパティを追加する方法をここに残します。

開発環境(前提条件)

・Xcode11.5
・Swift5

コード

調べてみると、struct とか objc_getAssociatedObject を使ってる記事が多いのですが、何かとごちゃついてる感が否めなくて、しっくり来ねーな…って感じでしたが、最高にスッキリしてる方法があります。

シンプルゥ⤴︎⤴︎⤴︎
これが一番スッキリしているかと思います。

私は write(to:options:) の中で NSMutableData.writeURL に書き込むようにしています。
保存したら writeURL も参照できるようになるので、個人的にはサイコーです。笑

Extension を使用したプロパティの追加を書きたかったので、別に NSMutableData じゃなくてもいいんですけどね。

さいごに

どのクラスにも新たにプロパティの追加ができますが、乱用しまくると何が何だかわからないコードになるので、大人数で開発してるプロジェクトで使う場合は注意が必要っすね…(((゚Д゚))

コメント