私はまだARCとブリッジキャストに慣れています。CGColor に関するドキュメントでこれを見ました
コンパイラは、Cocoa メソッドから返された CF オブジェクトを処理します コンパイラは、Core Foundation 型を返す Objective-C メソッドを理解し、歴史的な Cocoa 命名規則に従います (Advanced Memory Management Programming Guide を参照)。たとえば、コンパイラは、iOS では、UIColor の CGColor メソッドによって返される CGColor が所有されていないことを認識しています。次の例に示すように、適切な型キャストを引き続き使用する必要があります。
NSMutableArray *colors = [NSMutableArray arrayWithObject:(id)[[UIColor darkGrayColor] CGColor]];
[colors addObject:(id)[[UIColor lightGrayColor] CGColor]];
だから私のコードでは、私はこれを試しました:
gradientLayer.backgroundColor = (id)([UIColor clearColor].CGColor));
ARC に関するコンパイラの警告が表示され、ブリッジ キャストを使用する必要がありました。理由はまだわかりません。「Fix-It」をクリックすると、次のようになりました。
gradientLayer.backgroundColor = (__bridge CGColorRef)((__bridge id)([UIColor clearColor].CGColor));
わかりません。これは何を意味するのでしょうか?ありがとう!