objective-c - Cocoa/Objective-C 类中的一致性与继承

标签 objective-c cocoa cocoa-touch class inheritance

我注意到 Cocoa/Objective-C 类继承并遵循其他类。我理解什么是继承,但不理解一致性。有什么区别?

另外,像 UIView 这样的类是 Cocoa 类还是 Objective-C 类?

最佳答案

类不符合类,它们符合 protocols ,它们基本上是类可以响应的消息列表。如果一个类符合协议(protocol),它必须响应协议(protocol)接口(interface)中列出的所有非可选消息。

此外,Cocoa 类和 Objective-C 类之间并没有真正的区别。 Cocoa 是一个 Objective-C 框架,因此它的所有类都是 Objective-C 类。如果您询问像 UIView 这样的类是否是语言或框架的一部分:您通常在 Cocoa/Cocoa Touch 应用程序中交互的每个类都来自框架。标准 Objective-C 运行时提供的 native 类有:

  • 对象
  • 协议(protocol)
  • 列表

如果您想亲自查看 header ,可以转到/usr/include/objc。这些都不会在普通的 Cocoa 或 Cocoa Touch 程序中使用。您确实使用协议(protocol)(如上所述),但通常不直接引用该类。

关于objective-c - Cocoa/Objective-C 类中的一致性与继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376071/

相关文章:

iphone - 打开模态视图时的 EXC_BAD_ACCESS

iphone - 为什么我在 ARC 下比较桥接 CGColorRefs 时遇到崩溃?

java - 从 iOS 到 Socket 的数据损坏

cocoa - 使用 Cocoa 将图像加载到 OpenGL 纹理

ios - UIModalTransitionStylePartialCurl 使我的应用程序崩溃

multithreading - 是否有任何理由将长间隔 NSTimer 移至后台线程?

objective-c - 将十进制转换为字符串再转换为十进制

cocoa-touch - 在后台实现一个 block ,然后在完成后在主线程上运行另一个 block ?

cocoa-touch - 本地化的 Storyboard被忽略 (?)

iphone - 核心数据错误?