注意:我不寻求解决实际问题。我好奇地问。
我有一个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 的基本原则,这样的覆盖(仅调用基类)不应该修改程序的行为。
这个错误信息到底是什么意思?为什么会出现?