【发布时间】:2014-10-04 00:54:04
【问题描述】:
我是 iOS 新手,我正在尝试了解该平台的工作原理,如果我提出任何愚蠢的问题,请见谅。
我的问题是基于这篇文章中存在的问题:
Inheritance on view controller Objective c
到目前为止,我知道我可以继承控制器,但我可以继承视图吗?我认为答案是否定的。如果是这样,解决以下问题的最佳方法是什么?
我有一个纸牌配对游戏。现在,我必须将游戏扩展为类似的纸牌游戏,但套牌和规则不同。
因此,我想重用代码并拥有一个主控制器和 2 个继承的控制器来重新定义卡组的创建。现在我需要有 2 个不同的视图,因为这两个游戏有不同数量的卡片。那么,最好的方法是什么?我是否必须将所有控件从一个视图复制到另一个视图并修改需要的内容?
【问题讨论】:
-
您显然有一些重大的误解。 UIView 是一个类。 UIViewController 是一个类。 UIButton 是 UIControl 的子类,UIControl 是 UIView 的子类。类继承定义了类的功能以及它与其他类似类的共同功能。继承不定义某些视图放置在其他视图中以构建更复杂的视图结构的方式。
-
(典型的 iPhone 屏幕上可能有 50 个视图。每个标签是一个单独的视图,每个图像是一个单独的视图,每个按钮是一个单独的视图,并且有“容器”视图包含其他视图。您在屏幕上看到的所有内容(以及很多您看不到的内容)都是一个视图。)
-
感谢您的解释,不了解平台,我想确保没有机制可以共享视图的某些部分。因此,如果我想创建一个与另一个视图相似的视图,唯一的方法是复制该视图以创建一个新视图……这样对吗?
-
视图由视图控制器“拥有”。如果你想“共享”一个视图,在你的专用视图控制器之间使用一个通用的超类视图控制器。
标签: ios objective-c inheritance