EZ-NET

UPDATES

更新日 内容
2013-01-25 C++ で関数のポインタを使用する。
C++ での関数ポインタの使い方について記してみました。クラスのメンバ関数の場合はまた少し違う使い方になるので、その辺りについても記してあります。
2013-01-24 C++ でラムダ関数を使用する。
C++11 では、ラムダ関数という匿名関数のような仕組みが導入されました。ここではその使い方について見て行きます。
2013-01-24 C++ の STL で配列を繰り返し処理する。
C++ の STL (Standard Template Library) には、std::for_each という、配列の要素を使って順次処理する関数が用意されています。
2013-01-23 C++ の STL で配列の値を初期化する。
C++ の STL (Standard Template Library) には、std::fill や std::fill_n という、配列の要素を初期化する関数が用意されています。
2013-01-23 C++ で STL の配列をイテレータで繰り返し処理する。
C++ の STL (Standard Template Library) には、std::vector などの動的配列の要素の繰り返し処理を支援する仕組みとして、イテレータというものが用意されています。
2013-01-23 C++ で可変長配列 std::vector<T> を使用する。
C++ では、可変長の配列を簡単に利用できる std::vector というテンプレートクラスが用意されています。今回はその基本的な使い方について触れてみます。
2013-01-21 C++ の読取専用インスタンスで使えるメソッドを定義する。
C++ では、クラスインスタンスを読み取り専用として扱うことができます。その状態で呼び出せるメソッドは、設計時にプログラマが指定しておく必要があります。
2013-01-21 C++ でクラスを定義する。
C++ でのクラスの定義方法です。基本的な構造から、コンストラクタやアクセス指定子、const メソッドなどにも少し触れています。
2013-01-21 C++ で仮想関数を定義してオーバーライド可能にする。
C++ クラスでメソッドをオーバーライドできるようにするには、メソッドを仮想関数として定義する必要があります。また、派生先での実装を強制する純粋仮想関数もあります。
2013-01-21 C++ でクラスインスタンスをコピーする。
C++ では代入演算子を使ってクラスインスタンスの値をコピーすることができます。既定では属性値がシャローコピーされるようになっているので、必要に応じて自前で実装する必要があります。
2013-01-20 C++ で名前空間を定義する。
C++ では、自分の定義したクラスや関数・変数が他のライブラリと衝突しないように、名前空間という仕組みが用意されています。ここではその使い方について見て行きます。
2013-01-19 NSData 生成時に渡したデータの扱われ方。
Objective-C の NSData インスタンス生成には、いくつかの init メソッドが用意されています。それらの動きの違いが気になったので整理してみました。
2013-01-18 コマンドプロンプトで複数のファイル名を変更する。
Windows のコマンドプロンプトを使って、複数のファイルの名前にプレフィックスを付けて一括変更する方法です。
2013-01-18 App Store への申請に使ったアプリを実機で検証する。
iOS アプリの制作で、App Store に申請しているアプリが正しく動いてくれるのか不安になることがよくありますけど、Ad Hoc を活用することでリリース時にかなり近い条件で動作検証できそうです。
2013-01-18 ビットマップを操作して画像をモノトーンに変換する。
iPhone アプリで使うボタン画像を 1 色だけ用意して、シーンに合わせて色を変えて使えるように、ビットマップデータを操作して色を単調化してみました。
2013-01-18 Interface Builder で独自プロパティを設定する。
既存の UI コントロールを派生して独自のプロパティを実装した時、それを Outlet を通して設定しなくても、IB の User Defined Runtime Attributes を使って直接設定できました。
2013-01-14 UIViewのtouchesEndedが呼ばれないことがある場合
iOS アプリを作成中に UIView の touchesBegan が呼ばれているのに touchesEnded が呼ばれないことがある問題に遭遇しました。その原因と解消方法について記します。
2013-01-12 Objective-C フラグメントシェーダー事始め。
iPhone アプリで画像をモノトーン化するのにフラグメントシェーダーを使いたくなって、シェーダーが何かさえままならないところから実装まで何とかこぎつけました。そんな中で身に付いた知識を整理しておくことにします。
2013-01-09 CIFilter で画像をモノトーンに変換する。
iPhone アプリで使うボタン画像を 1 色だけ用意して、シーンに合わせて色を変えて使う方法がないか調べていたところ、CIFilter の CIColorMonochrome フィルタがあることを知り、さっそく試してみることにしました。
2013-01-06 UIView が、あるビュー上に存在するか判定する。
UIView には、自分自身が、指定した UIView 上に存在しているかを調べるメソッドが用意されていました。
2013-01-06 ナビゲーションコントローラーのアニメーションを変更する。
UINavigationController で、プッシュやポップしたときの画面の動作を、たとえば縦方向に変更する方法です。
2013-01-04 ARP エントリを手動で登録する。
IP アドレスと MAC アドレスとを関連付ける ARP エントリを、コマンドを使って手動で登録する方法です。
2013-01-04 ETHERS ファイルの書き方。
iPhone 5 や iPad mini の Wi-Fi 不調を回避するために使った ETHERS ファイルについて簡単に整理してみました。
2013-01-03 iPhone 5 の Wi-Fi 通信が頻繁に切れる(対処編)
iPhone 5 や iPad mini が Wi-Fi 接続時に Windows との通信に失敗することがある問題の原因がおおよそ見えてきたので、その辺りを整理しつつ、回避策について記してみます。
2012-12-27 iPhone 5 の Wi-Fi 通信が頻繁に切れる。(続報)
昨日、iPad mini でも iPhone 5 と同じように Wi-Fi のパケット消失が頻発したのを受けて、それについても追記しておきました。ちなみに今日はどちらとも元気です。
2012-12-24 プリミティブ型の引数を取るメソッドを別スレッドで実行する。
NSInvocation であれば、NSInteger などのプリミティブ型の引数も指定することができます。これを使えば、そういった引数を持つメソッドであっても performSelector を使って実行できるようになります。
2012-12-23 NSInvocation をマルチスレッドで使用する場合。
NSInvocation を設定してから performSelector:withObject:afterDelay: などでタイミングをずらして実行したい場合、retainArguments メソッドを使用することで、引数に設定した Objective-C インスタンスを retain しておくことができます。
2012-12-21 iPhone 5 の Wi-Fi 通信が頻繁に切断される(続報)
iPhone 5 への機種変更直後から Wi-Fi 通信が頻繁に切断される問題ですけど、おおよそ iPhone 5 側の不具合と思える材料が揃ってきました。そんな中 Wi-Fi 周りだけを修正した iOS 6.0.2 が登場して、改善へ向かってくれないか期待でいっぱいです。
2012-12-18 addSubView で追加したビューの表示位置がズレる。
iOS アプリの作成中、Storyboard で作成した UIViewController が持つ UIView を addSubview してみたところ、ちょうどステータスバーくらい下にズレてしまうことがありました。その場合の対応方法です。
2012-12-16 ObjC で、あるメソッドをクラスが持っているかを判定する。
Objective-C では、あるメソッドがクラスに実装されているかを、実行時に調べられるようになっています。基底クラスがメソッドを実装しているかを知る方法についても記しています。