iOS7应用开发4、Foundation框架

1、动态绑定:id类型的对象,表示指向未知类型对象的指针;

指向对象的实际类型在运行时指定。在使用时,注意check该对象是否响应调用的方法(respondsToSelector)。可以将一个静态类型的对象付给id类对象。

[NSArray firstObject]等函数返回值本质上就是id类型。

id本身就是指针类型,所以不存在id *pObject这种写法。

当向id类型的对象发送消息时,编译时不会出现警告,但是若其实际指向的对象没有实际上没有那个方法,则在运行时会崩溃。

2、关于内省(introspection):

内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息,在避免因为调用对象不存在的方法而引发的程序崩溃时可以起到重要作用。主要用到的方法有:

(1)、isKindOfClass:Class:检查对象是否是那个类或者其继承类实例化的对象;
(2)、isMemberOfClass:Class:检查对象是否是那个类但不包括继承类而实例化的对象;

(3)、respondToSelector:selector:检查对象是否包含这个方法;

(4)、conformsToProtocol:protocol:检查对象是否符合协议,是否实现了协议中所有的必选方法。

3、Foundation框架

*NSObject:所有类的基类,实现description、copy/mutableCopy等方法;

*NSArray/NSMutableArray:有序数组;使用for-in循环枚举其中的元素;

*NSNumber:封装过的数值类,可用于整型、实数型、布尔型、枚举型等;

*NSValue:可用于封装一些其他的非基本类型的数据,如C结构体等;

*NSData:二进制数据集合;

*NSDate:日期、时间类;

*NSSet/NSMutableSet/NSOrderedSet/NSMutableOrderedSet:集合类;

*NSDictionary/NSMutableDictionary:键值对集合,对其中的数据存在强引用;

*Property
List:一个集合的集合;比如nsarray的成员全部是nsstring,或者nsarray的成员是nsdictionary,其键是nsstring,值是nsnumber;在writeToFile等函数时常用;

*NSUserDefault:Property
List的一种轻量化存储方式;用于存储比较简单的数据;

*NSRange:表示位置和长度的C结构体;若没找到则返回值为NSNotFound;

其他还有UIColor、UIFont分别表示颜色和字体;

内容太多了,具体可参考官方文档。

4、Attributed
strings

NSAttributedString类:类似于(不同于也没有继承关系,但是可以通过方法返回一个string)NSString,每一个字符都包含一个NSDictionary成员储存了该字符的属性,如字体、字号、下划线、加粗等。可用于button、label、text
view等对象中。

时间: 2013-11-12

iOS7应用开发4、Foundation框架的相关文章

iOS开发系列—Objective-C之Foundation框架

概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有: Foundation概述 常用结构体 日期 字符串 数组 字典 装箱和拆箱 反射 拷贝 文件操作 归档 Foundation概述 为什么前面说的内

iOS7应用开发1、菜鸟那点儿事儿

序:今天开始新开一个坑,作为一个准备了许久却依然摆脱不了24k纯菜鸟身份的程序员,跟随Stanford的世界未来精英们一起学习iOS7应用开发的相关知识,同时也是为了自己以后的业余项目做准备,提升自己的工作筹码.我所follow的教程来自itunes上面斯坦福大学的公开课程<Developing iOS 7 Apps for iPhone and iPad>,很容易就能找到.这些博客除了作为追课过程中的笔记之外,可能也会有搜集到的与这次课相关的一些资料,和一些个人体会.只作为自己的记录,不敢保

Foundation框架 &#8211; 快速创建跨平台的网站页面原型

整个一周都在揪心的猫事中度过.从十月底到现在的这段日子里,倒是越发懂得珍惜每天中片刻的宁静时光.有时会怀疑家里是否有时空漩涡一类的东西,不然钟表怎么会走的那么快,一点儿也不愿停下等等我的样子.一切都会好起来. 独白终了,进入正题.最近两篇译文都有涉及框架和跨平台方面的话题:前一篇中,我们了解了一些用于移动应用开发的前端框架工具:今天这篇的立足点偏向设计开发流程的上游,它将向我们展示怎样使用Foundation框架快速创建跨平台的.可以在多种设备上进行测试的响应式页面原型.下面开始正文部分. 开门

《从零开始学Swift》学习笔记(Day60)——Core Foundation框架

创文章,欢迎转载.转载请注明:关东升的博客  Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发过程中,有时候使用CoreFoundation框架的API是非常方便的,例如在与C语言混合编码的时候. Core Foundation框架与Foundation框架紧密相关,他们具有与相同的接口,但是不同.Core Foundation框架是基于C语言风

iOS Foundation 框架中 Mutable 的类们

iOS Foundation 框架中 Mutable 的类们 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Mutable 对于那些不能直接对其中内容进行更改的类来说,是一种扩展方式,象数值这

iOS Foundation 框架 224 篇相关文档分类整理

iOS Foundation 框架 224 篇相关文档分类整理 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 截至 2014-05-02 ,苹果官网 Foundation 框架相关文档共计 2

Foundation框架—结构体

一.基本知识 Foundation-基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了. 即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用 创建变量 (二)NSPo

iOS Foundation 框架基类

 iOS Foundation 框架基类 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 基类 Title Topic Date NSObject Class Reference Data Ty

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

iOS Foundation 框架概述文档:常量.数据类型.框架.函数.发布声明 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Foundation 框架概述文档:常量.数据类型.框架.函数.