Objective-Cでシングルトンを作る方法

MRCの場合とARCの場合で異なるようだ。

MRCの場合

Objective-Cで自分の作ったクラスでシングルトンな動作をさせようと思ったら、公式ドキュメントを見るのが一番早かった。

http://developer.apple.com/jp/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_10.html

以下、上記サイトから引用して一部改変。

続きを読む Objective-Cでシングルトンを作る方法

Objective-Cのブロック構文をメソッドの引数にする

2014年03月25日追記
http://fuckingblocksyntax.com/という、ちょっと発声できない名前のページに、分かりやすくまとまっているのでそちらを参照するとよいかもしれないです。

概要

Objective-Cでは、ブロック構文というものが使える。iOS4から使えるようになった。
例えば、配列を走査したい場合はこんな感じで書ける。

NSArray *array = [NSArray arrayWithObjects:
				  @"りんご", @"ごま",
				  @"まほうしょうじょまどかまぎか",
				  @"からす", @"すずめ",
				  @"めだか", @"かんり", nil];
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
	NSLog(@"%d番目の要素は「%@」です。",idx,obj);
}];

これを自分で書いたクラスの中でメソッドの引数にするにはどうするか、というお話。

続きを読む Objective-Cのブロック構文をメソッドの引数にする

CSS3 Animations を適用するとiOSでぼやける

enchant.jsでSpriteやLabelに対してjQueryを使ってエフェクトをかける方法についてはenchant.js + jQuery でエフェクトをつけるに書いた。使い慣れたjavascriptの機能を使ってエフェクトをかけられるのは魅力的だが、Spriteに対してCSS3の機能であるAnimationsを適用すると、iOS(iPhone,iPad等) の Mobile Safariで表示した際に、ピンボケというか過剰なアンチエイリアスというか、ぼやけた感じになってしまった。おかしいな、と思って実験したら、特定の条件下でAnimationsを適用した場合にぼやけてレンダリングされることが分かった。

特定の条件とは、

  • div要素に対してCSSでbackground-imageを適用して画像を表示している(enchant.jsのEntity)
  • 複数の画像にCSS3 Animationsを適用している
  • どれかの要素でCSS3のアニメーションが継続中

といった場合だ。そこで、実験をしてみた。
※結論だけ知りたい人はこちらをクリック

続きを読む CSS3 Animations を適用するとiOSでぼやける