FRMSKI開発ブログ

AWS、iOS、AR/VRなど開発メモ

Programming

Pythonでのglobalの扱い方

Pythonではglobalを変数の前につけることでグローバル変数として扱える。下記例。 通常 var = 1 def test(): var = 2 test() print(var) #1 globalを使った例 var = 1 def test(): global var var = 2 test() print(var) #2

【ARKit】3D空間座標をスクリーン座標に変換する

ARの空間座標をスクリーン座標に変換する関数を紹介します。 ARSCNViewのprojectPointで取得できます。 下記ソースです。 func getScreenPointfromARPos(sceneView:ARSCNView , pos:SCNVector3) -> CGPoint { let screenPos = sceneView.projectPoint(pos) l…

JSONEncoderで小数点以下が正確な数値にエンコードされない問題の解決法

JSONEncoderで文字列を出力する時に、Doubleで値を持つと小数点以下の桁数が正確に出力されない場合があります。こういった問題はDecimal型で出力すると解決できます。 下記のソースはDouble型で出力した例です。 struct SaveData{ save_number:Double } cla…

RxSwiftのbindでテキストフィールドと変数の値を直結させる

RxSwiftのbindを使えばテキストフィールドの値を変更したタイミングで変数を書き換える処理を簡単に実装することができます。 //TestViewController.swift側 @IBOutlet var testTextField : UITextField! let model = TestModel() let disposeBag = DisposeB…

RxSwiftの基本を学ぶ

RxとはReactive Extensionsの略で非同期処理やイベント処理などを宣言的に記述することができる便利なライブラリです。 RxのSwift実装なのでRxSwiftと言います。 インストール方法 pod 'RxSwift'をPodfileに記述しpod installでインストールできます。 Obser…

Swiftにおける基本のMVCアーキテクチャについて

デザインパターンといえば、MVC・MVP・CleanArchitectureなど様々なアーキテクチャありますが、今回は基本の基本、であるMVCについて、Swiftにおける基本をまとめました。 MVCについて説明 まずMVCとはアプリケーションを実装するためのデザインパターンで、…