【javascript】Object.assign()を利用して、Composition的にprototype拡張する方法
「Composition over inheritance」とも言われているように、オブジェクト指向では、無為に継承を行うよりも、Compositionのように「何ができるか」という役割を親クラスに追加していくほうが好ま…
「Composition over inheritance」とも言われているように、オブジェクト指向では、無為に継承を行うよりも、Compositionのように「何ができるか」という役割を親クラスに追加していくほうが好ま…
Carというコンストラクタ関数に、drive()というメソッドを追加する場合、上記のように2つのやり方があります。 前者のコンストラクタ関数のプロパティとして関数を追加する方法 後者のコンストラクタ関数をprototyp…
コンストラクタ関数では、thisを使ってpublicな変数と、let,constを使ってprivateな変数を宣言することができます。 publicな変数はコンストラクタ関数をインスタンス化した後に、インスタンス化したオ…
Class内でしか参照できない変数や関数をプライベート変数・関数(private var func)と呼びます。 プライベートな関数・変数は、Classをインスタンス化したあとに外部から変更・参照されないため、安全にプロ…
javascriptにはコンストラクタ関数とファクトリ関数という関数が存在します。 この2つは役割が非常に似ているため、混同しやすいので、自分への備忘録も兼ねて、例文コードと共に、違いを紹介します! ファクトリ関数 ファ…
このようにTableViewの上部に検索機能がついたUIは、iphoneアプリでよく見られます。 今回は、tableViewとUISearchControllerを使って、実装する方法を紹介します! ソースはこのような形…
iphoneアプリ開発で頻発に使うextension。 既存のStringやArrayに自分専用のメソッドを追加できます。 今回は、このextensionの使い方を超シンプルに解説します! 10文字で文字列を切り取るex…
javascriptの値渡しと参照渡しの違いをまとめてみました! プリミティブ型とオブジェクト型で渡し方が違う。 結論から言うと、javascriptの場合 String Boolean Number などのプリミティブ…
親Controllerから子Controllerへデータを送り、子Controllerを破棄(dismiss)するタイミングでprotocolとdelegateを使い、データを親Controllerに送る処理を最小単位で…
iphoneアプリ開発で頻繁に使用するTableView(TabelViewController)。 今回は、そのTableViewをプログラムで一番上までスクロール位置を戻す方法を紹介します。 実装方法は非常に簡単で、…
UITextFieldにフォーカスすると、iphoneの入力用キーボードが表示されます。 一般的なiphoneアプリならば、任意の文字列を入力後、Enterキーを押せば、一定の処理と共に、入力用キーボードが格納されます。…
上図のような、UIAlertControllerでポップアップを表示させて、ユーザーがポップアップ内のテキストフィールドに入力後、その文字列を使う処理を行う実装はiPhoneアプリ開発において欠かせないものです。 今回は…
このような、すべてのデバイスで縦向き・横向き関わらず、正方形のビンゴカードをXcodeのAutoLayoutを使って作る方法を、自分への備忘録も兼ねて、ご紹介いたします。 横一列で正方形を5つ並べたStack Viewを…
検索枠をタップしたら、検索枠を大きくする tableviewをタップしたら、検索枠が元に戻る この2つのアニメーションを含む、レイアウトと実装をご紹介します。 Auto Layoutを使って、UIコンポーネントを配置する…
Swiftを勉強中なので、プログラミングの例によく使われる動物クラス(Class Animal)から、人間クラス(Class Human)まで継承していくオブジェクト指向を簡単に書いてみました! スーパークラス(親クラス…
メディアアプリなどの記事一覧画面で、下に画面を引っ張ると、クルクルというインジゲーターが出現して、最新記事が取得できるリフレッシュ機能。 めちゃくちゃよく使う機能です。 今回は、そのリフレッシュ機能の作り方を解説します。…
RubyやPHPの場合、railsやlaravelといったフレームワークがMVC構造で作成されているため、比較的容易にMVCでwebアプリを作ることができました。 しかし、Swift(iphoneアプリ)の場合、これとい…
2枚の上図のように、2つの正方形を常に同じ距離で、全ての端末の全ての向きでセンター配置する方法をご紹介します。 土台となるUI Viewをセンター配置する わかりやすいように少しだけグレーにしてありますが、2つのオブジェ…
このように、autoLayoutを使って、 すべての端末 すべてのモード(縦向き・横向き) で、上下半分にレイアウトを分ける方法をご紹介します。 UIViewを2つセットする まずは、適当に上下のUIViewをそれぞれs…
こういったアラート画面でユーザーに選択肢を提示する機能がUIAlertControllerです。 今回は、この機能の実装方法を解説いたします! ソースコード 上記がViewControllerが呼び出されたタイミングで、…