ARCでCGColorRefを使い実機で落ちる場合の対応

Filed under iOS SDK, Objective-C, トラブルシューティング
Tagged as , ,

ARC (Automatic Retain Count)を有効にして、CGColorRef構造体を使うと、非ARCで動いていたコードがデバイスで実行した時に落ちる現象に遭遇しました。
ちょっと調べてみたら、下記のようなコードで落ちていることが分かりました。

1
CGColorRef colorRef = [UIColor redColor].CGColor;

ちなみに、このときXcodeでは次のようなスタック表示がなされています。
Xcoce CGColorRetain thread

この問題は下記のように CGColorRetain メソッドで括ることで対応出来ます。

1
2
// CGColorRef colorRef = [UIColor redColor].CGColor;
CGColorRef colorRef = CGColorRetain([UIColor redColor].CGColor);

参考サイト


[AD]

↓気になる書籍発見!最近発売された様子!

iPhone/iPad グラフィックスプログラミング

著者/訳者:STUDIO SHIN

出版社:ソフトバンククリエイティブ( 2013-05-28 )

定価:¥ 3,456

大型本 ( 444 ページ )

ISBN-10 : 479735819X

ISBN-13 : 9784797358193


↓よさそうですよねー!

たのしい インフォグラフィック入門

著者/訳者:櫻田 潤

出版社:ビー・エヌ・エヌ新社( 2013-05-24 )

定価:¥ 2,376

Amazon価格:¥ 2,376

ペーパーバック ( 196 ページ )

ISBN-10 : 4861008530

ISBN-13 : 9784861008535


Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)