黑马程序员_OC Foundation框架简介

来源:互联网 发布:linux 重启命令卡住 编辑:程序博客网 时间:2024/06/06 18:19
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

    学习.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等。

在大体上可以分为以下几大类:

  1. 值对象
  2. 集合
  3. 操作系统服务:文件系统、URL、进程通讯
  4. 通知
  5. 归档和序列化
  6. 表达式和条件判断
  7. Objective-C语言服务
2、Foundation框架的使用

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培训、期待与您交流! -------



 


0 0
原创粉丝点击