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]

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

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

↓よさそうですよねー!

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

Post a Comment

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

*
*

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