`
天梯梦
  • 浏览: 13629897 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    AVFoundation 开发秘籍——实践掌握iOS & OS X应用的视听处理技术

    快速掌握使用AV Foundation开发iOS和OS X应用的技术如果想开发富媒体iOS或OS X应用程序,你可以使用苹果公司推出的AV Foundation框架来实现诸多神奇功能。不过AV Foundation框架基于最前沿的语言特征,极其庞大,...

    企业级iOS应用开发实战(全部章节)

    企业级ios应用开发实战分为三部分:基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成...

    企业级iOS应用开发实战(高清版)

    企业级ios应用开发实战分为三部分:基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成...

    ios应用开发所有的实验.zip

    ios应用开发所有实验:1:实现 Hello Word。 具体内容:按课堂讲授的内容,设计一个 Helloworld 类,在命令行下打 印"Hello World". 要求实现一个类方法,两个实例方法。并使 用属性。 2、 利用栈实现数学表达式求值 ...

    iOS技术概述

    iOS 开发相关信息 6 iOS 架构 6 iPhone SDK 包含哪些东西? 8 您可以在 iOS 创建什么应用程序? 9 如何使用参考库? 9 Cocoa Touch 层 12 高级特性 12 多任务 12 数据保护 13 苹果推送通知服务 13 本地通知 14 手势...

    ios视频开发下载(oc c)免费视频下载

    ios视频开发下载(oc c)免费视频下载 Foundation框架详细讲解

    Cocoa框架ForiOS(一)框架的介绍

    Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。Cocoa是OSX和iOS操作系统的程序的运行环境。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言...

    播放器封装

    如果想开发富媒体iOS或OS X应用程序,你可以使用苹果公司推出的AV Foundation框架来实现诸多神奇功能。不过AV Foundation框架基于最前沿的语言特征,极其庞大,而且相关文档较少;现在,Bob McCune撰写的这本 AV ...

    Objective-C开发范例代码大全

    展示如何使用Objective-C语言的独有特性以及Foundation框架的众多特性。此外,书中广 泛提供了多种问题的解决方案,包括: ● 使用Xcode进行应用开发 ● 使用字符串、数字与对象集合 ● 使用NSArray、NSString、...

    swift开发文档中文版

    Swift 是一种新的编程语言,用于编写 iOS 和 OS X 应用。Swift 结合了 C 和 Objective-C 的优点并且不受C兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift 是...

    MacRuby:MacRuby 是直接在 Mac OS X 核心技术(如 Objective-C 运行时和垃圾收集器、LLVM 编译器基础架构以及 Foundation 和 ICU 框架)之上的 Ruby 1.9 实现

    如果您想为 iOS 和 OS X 开发应用程序,请查看 MacRuby 项目的精神继承者 RubyMotion。 MacRuby 是基于 Mac OS X 技术的 Ruby 实现,例如 Objective-C 运行时和垃圾收集器、CoreFoundation 框架和 LLVM 编译器基础...

    Swift中文教程 PDF

    Swift 是一种新的编程语言,用于编写 iOS 和 OS X 应用。Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。 Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift...

    swift最新中文文档

    swift最新中文文档 不定时更新 Swift 是一种新的编程语言,用于编写 iOS 和 OS...用 Swift 编写 iOS 和 OS X 应用将是一场美妙的体验,Swift 之后也会不断开发新特性和兼容性。我们对 Swift 充满信心,你还在等什么!

    swift中文教程

    Swift 是一种新的编程语言,用于编写 iOS,macOS,watchOS 和 tvOS 的应用程序。Swift 结合了 C 和 Object ive-C 的优点并且不受 C 兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简 单,...

    swift-corelibs-foundation:基础项目,提供核心实用程序,国际化和操作系统独立性

    基础Foundation框架定义了几乎所有应用程序所需的基本功能层。 它提供了原始类,并引入了几种范式,这些范式定义了Objective-C运行时和语言或Swift标准库和语言都未提供的功能。 在设计时要考虑以下目标: 提供少量...

    The Swift Programming Language(pdf和epub两种)

    Swift背靠成熟且备受宠爱的Cocoa 和 Cocoa Touch框架的支持,这是一个重新构想软件开发的机会。  Swift经过了数年的酝酿,Apple通过改进现有的编译器、调试器和框架结构奠定了Swift的基础,并通过Automatic ...

    Decree:发出声明性HTTP请求的框架

    安德鲁通过实施许多用Swift编写的不同应用程序和后端服务来开发此策略。 他使用这种范例在自己的前端和后端(均在Swift中实现)之间以及与诸如Spotify,FreshDesk,Stripe等服务之间进行通信。 我们提供了单独的...

    Intersoft Mobile Studio试用版:一款顶级的跨平台移动设备界面套包控件

    Intersoft Mobile Studio为开发人员提供了一系列跨平台商业移动程序开发控件,可用于IOS、Android、Windows Phone和Windows Store 应用。该控件为跨平台移动开发提供了一组强大的框架和通用组件——Crosslight。...

Global site tag (gtag.js) - Google Analytics