使用视图控制器类继承视图:新类会实例化基础的 UI 对象吗?

发布于 2024-10-11 08:25:01 字数 351 浏览 3 评论 0原文

我有一个基本的视图控制器类,其中包含一个视图和一些连接到我的 MonoTouch 应用程序中的插座的控件,它描述了一个自定义表格单元格。从这个类中,我继承了所有其他自定义单元格。这很舒服,但我不确定继承的类是否会实例化基类的视图和子视图(从而占用双倍内存)?

底座有一个 UITableViewCell,带有三个 UILabels 和两个按钮。它们连接到插座,因为我需要将一些常用功能放入基类中。

继承的类添加了相同的视图,但我需要手动添加它们。它们使用与基类中的插座相同的名称连接到插座。

如果继承的类确实实例化了基础的 UI 元素及其自身的 UI 元素,那么我是否有办法修复它并仅使用基础的 UI 元素?

感谢您的阅读。

I have a basic View Controller class with a view and some controls connected to outlets in my MonoTouch application, that describes a custom table cell. From this class I inherit all my other custom cells. It is quite comfortable, but I am not sure if the inherited class will be instantiating the base's view and subviews (and thus eating up double memory)?

The base has a UITableViewCell with three UILabels and two buttons. They are connected to outlets, because I needed to put some common functionality in the base class.

The inherited class has the same views added, but I needed to add them manually. They are wired to outlets using the same names as the outlets in the base class.

If the inherited class indeed instantiates the UI elements of the base along with its own, is there a way for me to take fix it and use just the base's UI elements?

Thanks for reading.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晨曦慕雪 2024-10-18 08:25:01

我会尝试回答我所理解的。让我们来看看。您有一个管理 UITableViewCell 的 UIViewController。在 IB 中,您将单元的一些控件连接到控制器。

我不明白您手动添加相同视图的意思。你为什么要这么做?

如果你继承 UIViewController 来扩展你的基本表格单元格,它当然会包含基本的所有控件。

如果您通过向现有 UIView 添加一堆其他 UIView 来扩展表格单元格,则现有 UIView 不会被覆盖。

将 IB 中的视图视为对象的“序列化”版本。它们是真实的物体。这意味着如果您在 IB 中有一个按钮和一个标签,则在从 IB 加载该内容时,将执行“new UIButton()”和“new UILabel()”。

如果在您的继承类中您不需要基础内容,请不要继承。

您是面向对象开发的新手吗?也许您应该首先了解继承、多态性和面向对象开发的基础知识——或者我完全误解了您的问题吗?

I will try to answer what I understood. Let's see. You have a UIViewController which manages a UITableViewCell. In IB you connect some controls of your cell to the controller.

I do not understand what you mean by adding the same views manually. Why would you do that?

If you inherit from the UIViewController to extend your basic table cell, it will of course contain all the controls of the base.

If you extend your table cell by adding a bunch of other UIViews to the existing ones, the existing ones won't be overwritten.

Think of the views in IB as a "serialized" version of objects. They are real objects. This means if you have a button and a label in IB, upon loading the thing from IB, a "new UIButton()" and a "new UILabel()" will be executed.

If in your inheriting class you don't need the base stuff, don't inherit.

Are you new to object oriented development? Maybe you should first get into the basics of inheritance, polymorphism and object oriented developing in general - or did I completely misunderstand you question?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文