EZ-NET

UPDATES

更新日 内容
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 を使わないで実装するにはどうしたらいいかとか、そんな視点で記してみます。
2012-11-25 Excel で奇数行に色を付ける。
Excel の条件付き書式を使えば、奇数行に色を付けることができます。
2012-11-21 UI 関連の機能はメインスレッドで実行すること。
iOS アプリの大原則的なところですけど、UI 関連の機能は必ずメインスレッドで実行しないと画面がおかしな挙動を見せたりするので注意です。
2012-11-20 iPhone 5 の Wi-Fi 通信が頻繁に切れる。(続報)
先日遭遇した iPhone 5 の ping パケットが頻繁に消失する問題は、調べるほどに iPhone 5 側の問題な感じ濃厚です。Windows 7 以上との相性な感じですけど、イーサーネット周りで XP から何か変わったのでしょうか。
2012-11-15 iPhone 5 の Wi-Fi 通信が頻繁に切れる。
そういえば iPhone 5 発売日当初から App Store に繋がりにくいとは思っていたのですけど、ここにきて iPhone 5 だけ Wi-Fi 通信が頻繁に切断されていることが判明しました。
2012-11-13 Perl から DBI で SQLite にアクセスする。
Perl から DBI を使ってデータベースにアクセスする方法を整理してみました。
2012-11-12 ASUS P8Z68-M PRO が BIOS 画面で止まる。
長らく電源を入れっぱなしにしていた ASUS P8Z68-M PRO 搭載の自作 PC を再起動したところ、BIOS 画面から先に起動しなくなってしまいました。CrashFree BIOS を試してみたのが功を奏したのか、無事に起動してくれるようになりましたけど。
2012-11-05 シミュレータでのデバッグ開始直後にXcodeがハングアップする。
iOS シミュレーターでのデバッグ開始直後に Xcode がハングアップしてしまうことがよくあったのですけど、意外と簡単な方法でハングアップを解消できることが判りました。