场景 1:对于 UIViewController,最好 (1) 为我在外部的 1 个或 2 个函数中再次访问的 UIView 创建一个 ivar loadView
?或者,(2)我应该只是标记它,loadView
然后- (UIView *)viewWithTag:(NSInteger)tag
在其他功能中再次使用它?我猜选项 1 将内存增加了指针的大小,因此是 32/64 位,并创建访问器方法(假设我声明@property
& @synthesize
),然后需要释放 ivardealloc
并将其设置为nil
in viewDidUnload
...选项 2 节省内存,设置代码更少,但需要一些处理时间和一些额外的代码来通过标签查找视图。我对这一切是否正确?
在这种情况下,最好使用 ivar,但我不确定。
场景 2:对于具有 5 个子视图的 UIView 的自定义子类怎么办?请记住,在给定时间我将在内存中拥有大约 30 个此自定义子类的实例(它们将是tableViewCell
s 的子视图),我应该为子视图使用 5 个 ivars,还是应该将它们全部标记?
在这种情况下,我认为通过标记它们所节省的内存将值得使用- (UIView *)viewWithTag:(NSInteger)tag
.
想法?
谢谢!
马特