如何使用 Objective C 将 UIObject 从一个 class 重用到多个 class?

How to reuse UIObjects from one class to multiple classes using Objective C?

我正在尝试以编程方式创建(不使用 xibstoryboard)具有复杂自定义 tableviewbuttons 等的通用应用程序,

现在的问题是我需要一次性将所有对象创建到单个 class 文件中,并在多个 class 和多个设备约束中重复使用它。请帮助我并为我的问题提供好的例子。

我认为如果我可以创建可重用性方法,它可以减少应用程序内存并提高应用程序性能,而且其他人可以轻松理解我的代码。

您应该在不同的 UIViewController 中创建这些自定义 ui 对象的单独实例,因为在不同的视图控制器中重复使用 'same view instance' 类 会破坏视图层次结构,因为相同 ui-实例只能有一个超级视图。所以你不能在多个地方重复使用同一个自定义视图实例。更好地实现低内存方法并在不同容器(或 UIViewController)中使用差异实例。

我不认为这样做是明智的或可取的,因为我认为将添加到屏幕的元素不会花费太多时间来渲染,因为当屏幕离开屏幕时它会释放所有元素,所以它不会占用太多内存。如果您在一个屏幕上有多个(相同的)元素,那么您将必须拥有该对象的多个副本,因此无论如何您都不会节省任何现金 space.

这种方法在您更改同一提示的很多对象时是合理的,例如 UITableView 中的单元格,或图库中的 ImageView...。在这种情况下,您创建一个 class包含可重复使用的对象,它们不是普遍创建的。

但是要回答你的问题。

你可以做的是子class你所有的UI对象,并将它们作为属性

初始化到AppDelegateclass

A​​ppDelegate 是始终创建的 "universal" class,所有其他 classes 都可以访问它。

AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;