如果我的 XIB 上有一些对象,如 UILabel、UIImageView 等
但我没有使用任何 IBOutlet 来连接它们,
我会引用这些对象,如下所示
UILabel *label = (UILabel *)[[self.view subviews] objectAtIndex:x];
UIImageView *imageView = (UIImageView *)[[self.view subviews] objectAtIndex:x];
我需要释放这些对象吗?
如果我的 XIB 上有一些对象,如 UILabel、UIImageView 等
但我没有使用任何 IBOutlet 来连接它们,
我会引用这些对象,如下所示
UILabel *label = (UILabel *)[[self.view subviews] objectAtIndex:x];
UIImageView *imageView = (UIImageView *)[[self.view subviews] objectAtIndex:x];
我需要释放这些对象吗?
如果您不保留此对象,则不必释放它们。您只需释放您创建的对象
您应该释放您创建的所有对象。这是个好习惯。
否则你会得到内存问题。
不,如果你不调用它,那么你就不必释放它。
但是,您的方法非常糟糕。是否有任何原因阻止您创建 IBOutlet 连接?即使使用viewWithTag:
也会做得更好。因为如果你在 nib 中添加一个新视图,很可能会弄乱顺序,你必须更改每个硬编码的索引值。
除非您自己分配、初始化、保留、复制对象,否则不应释放它。