黑马程序员_OC Foundation框架简介
来源:互联网 发布:linux 重启命令卡住 编辑:程序博客网 时间:2024/06/06 18:19
学习.net开发,我们是在Microsoft Visual Studio(简称VS)平台上开发的,Microsoft Visual Studio是微软公司旗下最重要的软件集成开发工具产品,是每个 Win 平台的软件开发者必备的工具,VS平台工具里面包含了多种框架,如.net framework框架。那学习ios开发也是一样的,在xcode工具平台开发,使用Foundation框架和UIKit框架进行开发。
1、Foundation框架概述
框架是封装起来的一个集合,里面包括把许多类、方法、函数、文档按照一定的逻辑组织起来的,在编写程序的时候可以直接调用,这样就是程序开发变得简捷和方便。
Foundation框架主要定义了一些基础类,供程序员使用,Foundation框架中所有的类的都继承NSObject这个对象。
在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发。常用的结构体有NSRange、NSPoint、NSSize、NSRect等。
在大体上可以分为以下几大类:
- 值对象
- 集合
- 操作系统服务:文件系统、URL、进程通讯
- 通知
- 归档和序列化
- 表达式和条件判断
- Objective-C语言服务
A首先在xcode工具平台进行开发时,会包括两个文件,一个是.m的文件,一个是.h的文件。
.m的文件是类的实现文件,参与编译过程,实现类中的声明,要想实现不同类,需要引用.h的文件头;
.h的文件时类的声明文件,所有类的声明全部写在这个文件中,声明类包括它的属性和行为。
B必须引用头文件#important <Foundation/Foundation.h>。
这个头文件就如我们C语言中头文件#include <stdio.h>,它们是预处理指令,使用了它们,才能把Foundation框架集里面已经定义封装好的方法、类才能使用。
用个小例子介绍:
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { NSLog(@"Hello, World!");//打印输出 } return 0;}
这是我们学写程序通用的例子,输出hello,world。
在这个程序中我们简单了解到OC中字符串是以@符号开头的;NSLog是打印输出,并且自动换行,还会自带一些时间日期等信息,这和C语言中printf是有一定区别的。
总结:OC中所有关键字是以@符号开头的。
再者,OC程序是面向对象的,那就不可缺少的有类声明,类实例化和类实现。NSObjec是OC基础类,基本类(除了继承父类)都是继承于它的,而且是单继承。
声明类:以@interface 开头,以@end结尾。大括号内定义成员变量,行为一定要写在大括号外面,不要写在大括号内部。
@interface Soldier:NSObject{@publicNSString *_name;int life;int level}//行为,士兵开火-(void)fireByGun:(Gun *) gun;@end
实现类:以@implementation开头,以@end结尾,它们俩之间没有大括号。
@implementation Soldier-(void)fireByGun:(Gun *)gun{//枪射击[gun shoot];}@end对象的创建:需要调用类的静态方法alloc分配内存,要写上[],里面是类名和方法名,返回值用指针*来接收,也就是在OC对象中写上*。
Soldier *s = [Soldier new];
3、Foundation框架具体使用
A NSRange:这个结构体表示事物的范围,已字符串的字符范围或数组中的元素范围。
//创建NSRange的三种方式//直接对字段赋值NSRange range;range.location = 30;range.length = 10;//使用函数NSRange range = NSMakeRange(10,5);//c语言数组似结构NSRange range = {20,4};
location字段存放的是起始位置,length字段存放的是所含元素的个数。
B NSString:字符串常量,不可变的,必须前面加上@符号,如@“asjd”
//直接创建NSString *name = @"abc";//使用函数NSString *name = [NSString stringWithFormat : @"name is %@", @"abc"];
C NSMutableString:可变字符串,可删除或增加字符
//创建对象NSMutableString *name = [NSMutableString stringWithFormat : @"name is %@", @"abc"];
D NSArray:内容长度不可变 的数组,只能存储OC对象,不能存储C语言中的基本数据类型,如int,float等。
数组中最后一个元素为nil,表示数组结束。
//创建对象NSArray *a = [NSArray arrayWithObjeccts:@"tom",@"abc",nil];//获取长度Long count = [array count];//获取第一个包含obj元素的索引号Long index = [array indexObject:@"tom"];
E NSMutableArray:是NSArray的子类,可修改数组元素和大小。
F NSDictionary:提供“键-值”对的集合;NSMutableDictionary:可变的字典对象。
G NSSet:单值对象的集合,操作包括搜索,添加,删除集合成员,比较两个集合,计算两个集合的交集和并集等。
H NSNumber:对基本数据类型进行封装,通过调用数字对象的类方法和对象方法,将基本的数据类型转换为数字对象。
更多的Foundation框架的使用还需要在以后学习开发过程中逐步体会。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
- 黑马程序员_OC Foundation框架简介
- 黑马程序员_OC中的Foundation框架学习
- 黑马程序员_OC之Foundation框架
- 黑马程序员_OC学习之Foundation框架1
- 黑马程序员_OC学习之Foundation框架2
- 黑马程序员_OC Foundation框架重要结构体和类
- 黑马程序员_OC语言的Foundation 上
- 黑马程序员_OC语言的Foundation 下
- 黑马程序员------[Foundation]Foundation框架
- 黑马程序员-Foundation框架
- 黑马程序员-----Foundation框架
- 黑马程序员---Foundation框架
- 黑马程序员 Foundation框架
- 黑马程序员---Foundation框架
- 【黑马程序员】-Foundation框架
- 黑马程序员--Foundation框架
- 黑马程序员-Foundation框架-NSArray
- 黑马程序员-Foundation框架-NSDictionary
- 单机配置tomcat 8 集群
- LeetCode - Best Time to Buy and Sell Stock IV
- 目标检测程序开发(四)——目标检测
- [学习笔记]XML基础及约束
- C++“隐藏实现,开放接口”的实现方案
- 黑马程序员_OC Foundation框架简介
- 股票学习(技术分析06)
- oracle中粘贴字符函数的使用
- Axure
- Socket连接代码示例、WebService 小demo示例
- 跟随大神的脚步学习之Fragment:Android Fragment完全解析,关于碎片你所需知道的一切
- Masonry介绍与使用实践(快速上手Autolayout)
- event delivly 事件分发, 响应链
- 对象的大小(sizeof)