iOS Foundation 框架基类

太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

基类
Title Topic Date
NSObject
Class Reference
Data Types & Collections Minor Change
NSObject
Protocol Reference
Data Types & Collections Minor Change
NSNull
Class Reference
Data Types & Collections Minor Change
NSValue
Class Reference
Data Types & Collections Minor Change
NSUUID Class Reference Data Types & Collections Minor Change
NSCopying
Protocol Reference
- Minor Change
NSMutableCopying
Protocol Reference
- Minor Change
NSMethodSignature
Class Reference
Data Types & Collections Minor Change
Objective-C Runtime Reference Objective-C Minor Change
Advanced Memory Management
Programming Guide
Performance Minor Change
NSAutoreleasePool
Class Reference
- Minor Change

首先我们了解一下。面向对象与基于对象。以下引用一段别人博客的阐述

“面向对象大家都非常熟悉,但是基于对象就不一定了。

两个听起来好象是同一回事,而其实它们却千差万别。基于对象是指:我们採用对象封装技术,将数据和操作捆绑在一起,但是并没有合理地使用多态、继承等面向对象技术进行软件设计。当中的“没有合理使用”这一修饰非常重要。它道出了面向对象和基于对象的本质差别。

尽管。听起来面向对象我们非常是熟悉,但就我的观察,非常多曾经从事C程序开发的人,当他採用面向对象的编程语言(如C++)进行开发时,写出来的程序却是基于对象的。

或者说他们是採用面向对象的语言编写面向过程的程序!”

引用这段话,应原作者要求。需贴上以下的转载说明:

原创作品。同意转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yunli.blog.51cto.com/831344/184846

在软件设计领域中。面向对象”是专指在程序设计中採用封装继承多态等设计方法。

这当中提到的“继承”,涉及到基类和派生类,

基类通过继承机制,能够利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,并且还同一时候拥有旧的成员。

我们称已存在的用来派生新类的类为父类,也就是基类。


这样看来,确实有必要。在了解 iOS 强大功能之前,先掌握基类提供了哪些功能,这样便可上下自如,游刃有余。

上面列表中的内容,大体能够分类几部分,一是 NSObject 基类相关的,一是採纳的基类相关协议,再就是执行时及反射相关功能,最后就是内存管理。

而当中有三个。应属于集合部分,但考虑到仅是准备阶段,那么就放到基类部分来研究为好:

NSNull
Class Reference
Data Types & Collections Minor Change
NSValue
Class Reference
Data Types & Collections Minor Change
NSUUID Class Reference Data Types & Collections Minor Change

这三个类,应该说都是为集合而生,NSNull 是为了 nil 能作为集合的元素。NSValue 是为了能使标量能作为集合元素;而NSUUID。则是要可以作为集合元素的自己定义对象必须实现的对象是否相等的判定方法所返回的标识该对象的唯一值,当没有值可用时,可使用 UUID来确保唯一。只是 NSUUID 也是取消的设备唯一编号的一种替代方案,但我觉得它并不一定专为它而生!

接下来。先研究 NSObject 这个绝大多数类的基类以及对应的协议。这些协议方法对日后的使用也非常关键,该基类将其派生类与系统执行时有机地联接起来,这样 iOS 强大提供将在手,并能掌握基本的执行机制的情况下,有效延长。转,上天堂,下可提出。

1、NSObject 基类及相关协议

iOS Foundation 框架基类的更多相关文章

  1. iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明

    iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...

  2. iOS Foundation框架 -2.常用集合类简单总结

    Foundation框架中常用的类有:NSString.NSArray.NSSet.NSDictionary 以及它们对应的子类 NSMutableString.NSMutableArray.NSMu ...

  3. iOS Foundation框架简介 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  4. iOS Foundation框架 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  5. iOS学习——iOS 整体框架及类继承框架图

    整理自:IOS 整体框架类图值得收藏 一 整体框架 在iOS开发过程中,对iOS的整理框架的了解和学习是必不可少的一个环节,今天我们就好好来了解一下iOS的整体框架.首先贴一个关于iOS的框架介绍:i ...

  6. iOS控制器之基类设计

    题记 在进入新公司后.经过这一个月的重构项目,终于把项目做到了个人相对满意的程度(还有一种不满意的叫老板的需求,提过多次意见也没用= =!).在这次重构中按照以前的思路设计出了个人觉得比较适用的一个基 ...

  7. Objective-C:Foundation框架-常用类-NSObject

    NSObject是所有类的基类,其常见用法有: #import <Foundation/Foundation.h> @interface Person : NSObject - (void ...

  8. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

  9. iOS Foundation框架 -3.利用NSNumber和NSValue将非OC对象类型数据存放到集合

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

随机推荐

  1. 模仿《百度音乐HD》添加到下载框动画

    上次听有人说喜欢<百度音乐HD>添加到下载动画 ,我就尝试模仿了下,没想到,今天code4app(地址)也有了这个,但是 这个动画基本相同,我们的思路还是部一样的. 都可以参考 .主要关键 ...

  2. KMP(Knuth-Morris-Pratt)算法

    一.朴素匹配算法 也就是暴力匹配算法.设匹配字符串的长度为n,模式串的长度为m,在最坏情况下,朴字符串匹配算法执行时间为O((n - m + 1)m). 假设m = n / 2, 那么该算法的复杂度就 ...

  3. jQuery选择

    1.基本的选择 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29tZW9uc3RvbmU=/font/5a6L5L2T/fontsize/400/fil ...

  4. [Xcode]SVN的使用

    当发生冲突时: (p)postpone: -mark the conflict be resolved later 保持冲突,手动修改源文件解决冲突 (df)diff-full: -show all ...

  5. SLB 权重问题

    <pre name="code" class="html">一般配置SLB的时候有个权重0到100,是如何选择数值的? 权重需要您根据后端机器的配置 ...

  6. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  7. struts2+jquery +json实现异步加载数据,亲测(原创)

    //初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $("#getMessage").click(functio ...

  8. Linux SSH常用总结(转)

    一.连接到远程主机 格式: ssh name@remoteserver 例如: ssh ickes@192.168.27.211 二.连接到远程主机指定的端口 格式: ssh name@remotes ...

  9. Java时间比較

    Date类有两个方法 一个是after()比方date1.after(date2)推断date1是否在date2之后也就是说date1小于date2吧, 一个是before()比方date1.befo ...

  10. c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...