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等对象中。
原文:http://blog.csdn.net/shaqoneal/article/details/15459365
iOS7应用开发4、Foundation框架相关推荐
- 黑马程序员——零基础学习iOS开发——13 Foundation框架
------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...
- iOS7应用开发1、菜鸟那点儿事儿
序:今天开始新开一个坑,作为一个准备了许久却依然摆 脱不了24k纯菜鸟身份的程序员,跟随Stanford的世界未来精英们一起学习iOS7应用开发的相关知识,同时也是为了自己以后的业余项目做准备,提 升 ...
- Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- Foundation框架介绍
Foundation框架介绍 前言 在开发初期,个人发现开发主要涉及到这几个方面:语言语法使用.UIKit.Foundation, 语言是开发基础,UIkit主要负责用户界面设计,其他最常用的就是Fo ...
- Foundation框架: 11.NSDate的基本认识和使用
学到这里, 我们基本上就把Foundation框架里面的东西学的七七八八了, 剩下的就只有UIKit, 也就是我们的UI部分,好了, 废话不多说, 现在我们来看看NSDate是干嘛用的吧. 例子: # ...
- iOS - Swift Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- foundation 框架_来自Linux Foundation,DockerCon,Facebook,Google等的开源新闻
foundation 框架 在本周的开放源代码新闻摘要中,我们将了解Linux基金会对三个新项目的资助,由21个行业领导者发起的名为Open Container Project的新容器联盟以及更多开放 ...
- 李洪强iOS开发之Foundation框架—结构体
Foundation框架-结构体 一.基本知识 Foundation-基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...
最新文章
- 了解这4个重点,带你探索未来将如何设计智能系统和机器人!
- windows备份与还原和两个主机的相互通信
- C#入门篇5-6:流程控制语句 foreach
- 分布式服务架构下的混沌工程实践
- matlab练习程序(径向模糊1)
- 如何使用IDEA格式化JSON数据
- UOS系统如何给软件签名
- Matlab读取处理Excel数据并拟合正态分布曲线
- HP大中华区总裁孙振耀退休十五天后九大感言
- Unity Cull 背面剔除
- 如何测试服务器及端口是否畅通?
- go语言连接远程服务器
- 让学前端不再害怕英语单词(三)
- flutter学习笔记--传递信息
- 藏书馆APP产品分析报告
- 国家电网入局区块链,打造国家级能源互联网
- cmwap与cmnet的区别
- RHEL8修改root密码
- (最优化理论与方法)第一章最优化简介-第三节:最优化基本概念
- CentOS7安装vmware
热门文章
- 字符串p型编码(信息学奥赛一本通-T1145)
- 32 MM配置-采购-采购订单-定义编码范围
- 22 FI配置-财务会计-定义收益留存科目(Retained Earning Account)
- VC++访问HTTPS服务器(不受限制)
- 1.4 为什么深度学习会兴起?(Why is Deep Learning taking off?)
- java yeild_Java 中 Thread.yield() 方法详解
- 训练集、验证集、测试集区分
- jupyter问题: failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
- span的取值与赋值(原生js与jquery) - 对比篇
- mysql查询雇员部门和性别_数据库管理系统MySQL实验