DateFormatterをstaticに定義してパフォーマンスを改善する。

DateFormatterはコストがかかる。
だから、for文とかで、何回も生成していると、とても遅くなる。

ってことで、staticに定義して、使いまわそうというお話。

extensionで。

で、注意したいのが2点。
localeに”en_US_POSIX”を指定している
localeに”en_US_POSIX”を指定して、想定したフォーマット通りに動くようにしています。

GDCや、OperationQueueで同時実行する時は注意
例えば、実際に使用する際には、

って感じで使うと思うけど、これを例えば、GDCとか使って、同時に実行したりすると、
1行目と2行目の間に、dateFormatが想定外の値に更新されちゃったりして、バグになる可能性がある。
上の2行だけだと、あまり起こらないかもしれないが、dateFormatをセットするところと、使用するところが、離れたりすると、見落としがちなので、注意。
そういうときは、各オペレーションごとに、DateFormatterを生成して、同じオペレーション内で使いまわすようにする。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

メインはWeb系エンジニアです。

コメント

コメントする

CAPTCHA


目次