2014-02-01から1ヶ月間の記事一覧

ステータスバーのバッテリーアイコン付近の色情報を取得してみた

ステータスバーのバッテリーアイコン付近の色情報(RGBA)を取得する必要があって、そのときに書いたコード。 処理的にはスクリーンキャプチャしたCGImageから対象の領域を1pxにトリミングして、そこからRGBA情報を取得するというもの。 using System; using S…

DispatchQueue内でNSRunLoop.Current.RunUntilを呼び出すコードが動かなくなってしまった その3

解決できた。前回の記事の追記にて見つけたページにヒントがあった。Dispatch内でRunLoopは扱えないとのこと。これをふまえて修正したコードはこのようになった。 DispatchQueue.GetGlobalQueue(DispatchQueuePriority.Low).DispatchAsync(delegate { Dispat…

Comparer<object>.Default.Compareメソッドでbyte配列の比較ができない

以下のコードが.NETでは動作するがXamarin.iOSでは動作しない。 byte[] v1 = new byte[]{0,1}; int ret = Comparer<object>.Default.Compare(v1, v1); // <-ここで例外。メッセージは"does not implement right interface" バグ?仕様? 追記 2014/02/12 10:21 サン</object>…

DispatchQueue内でNSRunLoop.Current.RunUntilを呼び出すコードが動かなくなってしまった その2

前回の記事の動かなくなったコードをObjective-Cで記述してみた。Xcodeはv5.0.2を使用。 bool alertFinished; - (void)hoge1:(id)sender { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ dispatch_sync(dispatch_get_main_…

DispatchQueue内でNSRunLoop.Current.RunUntilを呼び出すコードが動かなくなってしまった

元々は本家Objective-Cでも使われているテクニックで、非同期処理を同期処理にするためにNSRunLoop.Current.RunUntilを使うテクニックがある。 これをDispatchQueueからDispatchAsync経由で呼び出している箇所があるのだが、 DispatchQueue.GetGlobalQueue(D…