加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – NSObject和UIViewController有什么区别

发布时间:2020-12-14 18:59:07 所属栏目:百科 来源:网络整理
导读:我是 iphone开发的新手,我正在阅读教程和一些示例. 我想知道NSObject和UIViewController类之间有什么区别,以及我们将如何知道应该使用哪个类. 一些是用NSObject编写的,一些是在UIViewController中. 解决方法 来自维基百科,面向对象编程的基本概述: Object-o
我是 iphone开发的新手,我正在阅读教程和一些示例.

我想知道NSObject和UIViewController类之间有什么区别,以及我们将如何知道应该使用哪个类.

一些是用NSObject编写的,一些是在UIViewController中.

解决方法

来自维基百科,面向对象编程的基本概述:

Object-oriented programming (OOP) is a
programming paradigm using “objects” –
data structures consisting of data
fields and methods together with their
interactions – to design applications
and computer programs. […] An object-oriented program will usually contain different types of objects,each type corresponding to a particular kind of complex data to be managed or perhaps to a real-world object or concept such as a bank account,a hockey player,or a bulldozer.

在Objective-C中,所有对象都基于NSObject.现在就把它当作面值.如果你想使用一个Object,它将基于NSObject.所以,除非你使用int或float,否则你可能会使用基于NSObject的东西.

NSObject in-and-of-self,并不真正提供任何功能.这是对象的“起始位置”或“空白平板”.

您可以构建一个用于表示Animal的Object定义,如下所示:

@interface Animal : NSObject { }

@property (assign) int age;

- (Animal*)mateWith:(Animal*)lover;

@end

在这个例子中,我们描述了一个基本的动物.这堂课基本上做了两件事;知道动物的年龄,并且可以与另一种动物交配以产生动物后代.

您将在该示例中注意到我们在NSObject上基于Object定义.

现在,假设我们要为人类创建一个定义;好吧,人类是,并且将永远是所有动物的子集.因此,我们可以重用Animal类定义中的所有逻辑来创建一个Human定义 – 我们可能这样做:

@interface Human : Animal { }

- (void)lie;

@end

在这个例子中,我们为一种名为“Human”的Object创建了一个新定义.我们只定义了一件事:一种让我们班级能够撒谎的方法 – 除了我们还能够交配,因为我们基于“动物”,而“动物”已经描述了如何交配.

回答你的问题:

UIViewController包含一个逻辑BUNCH,用于执行一些非常复杂的任务.大部分逻辑都是Cocoa Touch框架的一部分.

如果你正在制作一个“动物”课程,你不需要知道如何从屏幕上回复用户输入,你不需要知道如何管理UIView,你不需要跟踪parentViewControllers等等.因此,将我们的Animal类放在UIViewController上会很愚蠢.这是不使用UIViewController的时候.

现在,如果你在iPhone上创建一个用户界面屏幕,并且你想在用户点击一个按钮时执行一些例程 – 那么你需要所有UIViewController的东西,所以你要将它子类化.

我可以理解为什么,如果你不是来自面向对象的编程背景,你可能会对此感到困惑.看起来您需要创建的大部分内容都是ARE UIViewController子类.然而,当你探索OOP的世界时,你会发现不仅是对象是别人写的你可以使用的东西 – 但它们是你想要从头开始创建的东西,以完成你曾经在程序上做的事情. .

祝你在激动人心的旅途中好运.

我强烈建议你去当地的Barnes and Noble旅行,或者去亚马逊网站找一些关于这个主题的书籍 – 如果你有一个已经知道OOP的朋友,一个好的导师比学习自己快得多.

不要忘记,在iPhone上,你还必须处理内存管理.对于很多人来说这是一个难点 – 如果你不遵守规则,会引起很多麻烦.尽早了解它们,您将得到很好的服务.

希望有所帮助,
干杯.

资料来源:

> http://en.wikipedia.org/wiki/Object-oriented_programming

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读