1

如果我的 XIB 上有一些对象,如 UILabel、UIImageView 等
但我没有使用任何 IBOutlet 来连接它们,
我会引用这些对象,如下所示

UILabel *label =  (UILabel *)[[self.view subviews] objectAtIndex:x];
UIImageView *imageView =  (UIImageView *)[[self.view subviews] objectAtIndex:x];

我需要释放这些对象吗?

4

4 回答 4

1

如果您不保留此对象,则不必释放它们。您只需释放您创建的对象

于 2013-01-23T07:27:59.370 回答
0

您应该释放您创建的所有对象。这是个好习惯。

否则你会得到内存问题。

于 2013-01-23T07:26:42.343 回答
0

不,如果你不调用它,那么你就不必释放它。

但是,您的方法非常糟糕。是否有任何原因阻止您创建 IBOutlet 连接?即使使用viewWithTag:也会做得更好。因为如果你在 nib 中添加一个新视图,很可能会弄乱顺序,你必须更改每个硬编码的索引值。

于 2013-01-23T07:28:27.907 回答
0

除非您自己分配、初始化、保留、复制对象,否则不应释放它。

于 2013-01-23T07:48:59.660 回答