Ios 当仍然绘制旧对象时,内存中的对象将被销毁并重新绘制

Ios 当仍然绘制旧对象时,内存中的对象将被销毁并重新绘制,ios,objective-c,memory,Ios,Objective C,Memory,因此,我认为我的旧对象正在从内存中被销毁,因此我每10次打开应用程序中就有一次它会再次运行drawRect,但不幸的是,旧对象仍然在新对象后面绘制!它不起作用(只有新对象起作用,但我仍然可以看到旧对象) 当drawRect再次运行时,如何摆脱对象的绘图?drawRect:不打算自动从内存中删除现有的类似对象 在添加新对象和“添加到视图层次结构”之前,您必须保留对从此UIView子类创建的对象的引用,并在下面两行中调用一次: [self.myCustomView removeFromSupervi

因此,我认为我的旧对象正在从内存中被销毁,因此我每10次打开应用程序中就有一次它会再次运行drawRect,但不幸的是,旧对象仍然在新对象后面绘制!它不起作用(只有新对象起作用,但我仍然可以看到旧对象)


当drawRect再次运行时,如何摆脱对象的绘图?

drawRect:
不打算自动从内存中删除现有的类似对象

在添加新对象和“添加到视图层次结构”之前,您必须保留对从此
UIView
子类创建的对象的引用,并在下面两行中调用一次:

[self.myCustomView removeFromSuperview];
self.myCustomView = nil;

问题是-我在interface builder中创建了对象-它是一个IBDesignable对象好的,您能在绘制它的地方显示代码吗。再次触发drawRect:的代码。我在对象中创建视图-虽然调用了drawRect,但我清除了其中的容器,似乎消除了该错误。谢谢虽然我想知道是否有更好的方法可以做到这一点,因为我真的希望旧对象永远留在这里。
[self.myCustomView removeFromSuperview];
self.myCustomView = nil;