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 では、あるメソッドがクラスに実装されているかを、実行時に調べられるようになっています。基底クラスがメソッドを実装しているかを知る方法についても記しています。 |
2012-12-14 |
Objective-C のオートリリースプールについて。 |
Objective-C には、生成したインスタンスを自動解放する仕組みとして、オートリリースプールという仕組みが用意されています。その使い方と基本について整理してみました。 |
2012-12-07 |
NSEnumerator で for...in 文に対応させる。 |
Objective-C ではクラスを NSFastEnumeration プロトコルに準拠させる方法の他にも、必要に応じて NSEnumerator 型の値を返すことで for ... in 構文に対応させることもできます。 |
2012-12-07 |
NSFastEnumerationでfor…in文に対応させる。 |
Objective-C で自分のクラスに NSFastEnumeration を実装して、for...in 構文で使えるようにする方法です。これを使わなくても何とかなるのであまり人気がなさそうですけど、こういう見た目の部分もけっこう大事に思います。 |
2012-12-05 |
Objective-C クラスにプロトコルを実装する。 |
Objective-C のプロトコルを使って機能を定義したり、それに準拠するクラスを定義したり、それを変数に受けて操作する方法について整理してみました。 |
2012-11-30 |
OS X で Wedge Touch Mouse を使ってみる。 |
縦方向にも横方向にもスクロールできる Microsoft Wedge Touch Mouse を Mac OS X で使ってみました。スクロール機能的はトラックパッドと比べてしまうといまひとつですけど、コンパクトで携帯性は良い感じでした。 |
2012-11-29 |
クラスの継承で従来コードと ARC コードが混在する場合。 |
検証プログラムを作っていたときに、ARC で書かれたクラスを Non-ARC コードでオーバーライドしてインスタンス変数を直接操作する場面があったので、そんな場面で注意したい箇所を整理してみました。 |
2012-11-29 |
Objective-Cのatomicityについて調べてみる。 |
Objective-C の @property の atomic って何をやっているんだろうと疑問に思い、調べ始めたらだんだんとその存在価値が判らなくなってしまいました。そこからどんどん派生して、さまざまなロックの存在やその特徴がようやく少しずつ見えるようになってきました。 |
2012-11-28 |
Objective-C で、メソッドを別のメソッドに差し替える。 |
Objective-C ランタイムを使って、実行時にメソッドを違うものに置き換える方法を整理しました。クラスを派生した場合の関係性も気になったので調べてみてます。 |
2012-11-28 |
NSRecursiveLock による排他制御を行う。 |
Objective-C の NSRecursiveLock を使用してクリティカルセクションを保護する方法を整理してみました。NSRecursiveLock は pthread_mutex の PTHREAD_MUTEX_RECURSIVE と同じ振る舞いをするそうです。 |
2012-11-28 |
Objective-C で NSLock による排他制御を行う。 |
Objective-C の NSLock を使用してクリティカルセクションを保護する方法を整理してみました。NSLock は pthread_mutex の PTHREAD_MUTEX_NORMAL と同じ振る舞いをするそうです。 |
2012-11-27 |
@synchronized による排他制御を行う。 |
Objective-C に用意されている @synchronized ディレクティブを使用して、クリティカルセクションを保護する方法です。 |
2012-11-27 |
Objective-C でミューテックスによる排他制御を行う。 |
Objective-C で、ミューテックスを使ってクリティカルセクションを保護する方法を調べてみました。 |
2012-11-27 |
Objective-C でセマフォによる排他制御を行う。 |
Objective-C でもセマフォという複数スレッドからの同時アクセスをブロックする機能が使えることを知り、その使い方について調べてみました。タイムアウト時間の指定もできるんですね。 |
2012-11-26 |
NSArray 配列の要素を順に取得する。 |
言わずと知れた NSArray の要素を順に取得する方法についても整理してみました。NSFastEnumeration でのやり方を自分がちゃんと理解したのは、Objective-C を始めてだいぶ経ってからだった気がします。 |
2012-11-26 |
Objective-C で配列を逆順に並び替える。 |
Objective-C の NSArray を逆順に並び替える方法です。reverseObjectEnumerator を使うと上手にまとまるみたいですね。 |
2012-11-25 |
@property の atomic キーワードについて。 |
Objective-C でスレッドセーフを実現する方法のひとつ、プロパティの atomicity について調べてみました。そもそもどんな保護ができるのかとか、@synthesize を使わないで実装するにはどうしたらいいかとか、そんな視点で記してみます。 |