注意: 私は実用的な問題を解決しようとはしていません。好奇心から尋ねます。
アプリケーションのメイン ビューで使用するカスタムUIView
サブクラスがあります。金属層クラスがあります。
+ (id)layerClass
{
return [CAMetalLayer class];
}
-(void)drawRect:(CGRect)rect
メソッドをオーバーライドすると、エラー メッセージが表示されるようになることに気付きました。
<CAMetalLayer: 0x17005dc70>: calling -display has no effect.
さらに興味深いのは、次のようにオーバーライドしても表示されることです。
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
}
OOPの基本原則によれば、そのようなオーバーライド(基本クラスを呼び出すだけ)はプログラムの動作を変更するべきではないため、私が理解している限り、これはまったく違いを生むことはできませんでした。
このエラー メッセージは正確には何を意味するのでしょうか? そして、なぜそれが現れるのですか?