2012-03-18 13 views
5

私は自分のコードにクラッシュしました.2つのCGColorRefを渡すと、クラッシュしてしまうことがありました。オブジェクトは次のとおりです。CGColorRefがクラッシュする

CGColorRef startColor = [[UIColor colorWithWhite:0.92 alpha:1.0]CGColor]; 
CGColorRef endColor = [[UIColor colorWithWhite:0.94 alpha:1.0]CGColor]; 

NSLog(@"start: %@ end: %@", startColor, endColor); 

NSLogはクラッシュを返します。何が問題なの?

EDIT - それはクラッシュです:

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 
    CGFloat locations[] = { 0.0, 1.0 }; 
NSArray *colors = [NSArray arrayWithObjects:(__bridge_transfer id)startColor, (__bridge_transfer id)endColor, nil]; 
+1

例外はスローされますか?これは私のために正常に実行されます –

+1

あなたが渡しているパラメータだけでなく、エラーのある行自体を含む例外の詳細を提供してください。 – GarlicFries

+0

NSLogをそこに置かないと、クラッシュする場所で編集されます。 – Andrew

答えて

13

ARC。アーク。アーク。ここ

http://weblog.bignerdranch.com/?p=296

そして、私は(あなたの問題を含む)ARCのためのいくつかの一般的なベストプラクティスを書いた:UIColor-> CGCOlorは

がここに深いダイビングを見るARCの大きな落とし穴の一つである

http://amattn.com/2011/12/07/arc_best_practices.html

+1

これは数ヶ月前のことですが、これは本当にありがとうございます。私は最後の4時間をちょうどちょうど起こっていたものの周りに私の頭をラップしようと過ごした。 – pdriegen

+0

問題ありません!私はいつも私が人々に役立つものを聞くことが大好きです。 – amattn

+0

私は同様の問題を抱えていますが、デバイスでクラッシュすることはありません。ただ機能していません。私は、カテゴリーを使ってイメージをトリミングしようとしています。シミュレータの細かいデバイスはフルイメージを表示します。 ARCの使用。この問題は関連していますか? – Daniel

関連する問題