十 taro 十

エンジニア1年目デス!見ていってね

十 taro 十

エンジニア1年目デス!見ていってね

最近の記事

ARKitで平面検知する方法

viewDidLoadで sceneView.delegate = self viewWillAppearで let configuration = ARWorldTrackingConfiguration() configuration.planeDetection = .horizontal sceneView.session.run(configuration) すれば、 ARSCNViewDelegate delegate関数の、 func renderer(

    • cocoapodのアップデートに失敗する。 https://qiita.com/shimon_haga/items/abccd95eec5119051ecf

      • xcodeいれてmacの容量がなくなったら、使わないSimulatorのiOSバージョンを削除。 https://shinespark.hatenablog.com/entry/2018/03/10/090000

        • iOS UIImageからgifファイルを作成する

          ImageI/Oフレームワークを調べていたら、gifを作成出来るという記事を見つけたので試してみました。 コード import UIKitimport ImageIOimport MobileCoreServicesimport AVFoundationclass ViewController: UIViewController { private var imageArray: Array<CGImage> = [] private let frameRate

          iOSフレームワーク JavaScriptCore

          iOS開発のベースの部分はフレームワークで、フレームワークで出来ることを知ることでiOSアプリの実現出来る機能の範囲を知れる。と上司に言われたのでフレームワークを勉強することにしました。 どんなことが出来るのかが知れればノルマ達成で、全フレームワークに対して勉強します。 まずはJavaScriptCore 詳しい記事はこちら iOS開発でjavascriptが使えて、javascriptのスクリプトでもObjective-Cのクラスが使えることが分かりました。

          iOSフレームワーク JavaScriptCore

          weakプロパティが参照しているオブジェクトは、テーブルに格納される。 テーブルに入っているオブジェクトが破棄されると、そのアドレスにnilを入れる。

          weakプロパティが参照しているオブジェクトは、テーブルに格納される。 テーブルに入っているオブジェクトが破棄されると、そのアドレスにnilを入れる。

          CoreFoundation __bridge

          iOSでCoreFoundationフレームワークのオブジェクトはARCが効かないので自分でCFReleaseする必要がある。FoundationオブジェクトとCoreFoundationオブジェクトをキャストする__bridgeを使えば、代入するときに参照カウントを操作できる。 ・id→void* id x = [[NSObject alloc] init];void *y = (__bridge void *)x; __bridge 参照カウントは変わらない。idオ

          CoreFoundation __bridge

          Objective-C クロージャの循環参照を回避

          クラスが、自分で保持しているクロージャ(他クラスを保持していて、その他クラスがクロージャを保持している場合も)でselfを参照すると循環参照を起こして、クラスが破棄されなくなります。その結果、メモリを圧迫してしまいます。 この問題を解決する、循環参照を起こさないコードが以下です。 __weak typeof(self) weakSelf = self; self.closure = ^() { typeof(self) strongSelf = weakS

          Objective-C クロージャの循環参照を回避

          [Objective-C]同期処理⇄非同期処理

          同期処理を非同期にする。 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //処理 }); 非同期処理を同期処理にする。 dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); dispatch_async(dispatch_get_global_queue(DISPA

          [Objective-C]同期処理⇄非同期処理

          [Swift]クロージャで画面を閉じる時に値を受け渡す

          FirstVC -> SecondVC に値を受け渡すのは以下です。 import UIKitclass FirstVC: UIViewController { var num1: Int? override func viewDidLoad() { super.viewDidLoad() } @IBAction func goSecondVC(_ sender: Any) { let secondVC = storyboard?

          [Swift]クロージャで画面を閉じる時に値を受け渡す

          [Swift] 値を別の画面に渡す方法

          以下の2つのViewController(FirstVC、SecondVC)があるとして、互いのプロパティに値を受け渡す方法を紹介します。 FirstVC -> SecondVCに遷移する時に値を渡す方法。 import UIKitclass FirstVC: UIViewController { var num1: Int? override func viewDidLoad() { super.viewDidLoad() } @IBActi

          [Swift] 値を別の画面に渡す方法

          gitで細かくコミットしたのを1つにまとめる

          9ec35b1 (HEAD -> master) 追加4eaf7c44 追加3712d238 追加2bf45c47 機能追加 このようにコミットが細かくなったのをまとめます。 $ git rebase -i HEAD^^^^ HEAD^^^^で4つ分のコミットを編集します。 エディタが開き、下記のようにします。 pick bf45c47 機能追加 f 712d238 追加2  f eaf7c44 追加3  f 9ec35b1 追加4 コミットの順番はgit

          gitで細かくコミットしたのを1つにまとめる

          git便利コマンド集

          addを取り消す。 $git reset HEAD 直前のコミットを取り消す。(ステージングも取り消す) $ git reset HEAD^ 直前のコミットを取り消す。(ステージングは残す)$ git reset --soft HEAD^ 直前のコミットを現在のステージングで上書きする。 $ git commit --amend ブランチを作成して、そのブランチに切り替える。 $ git checkout -b <ブランチ名> コミット履歴一覧表示    --one

          git便利コマンド集