黑马程序员——Objective-C语言基本知识总结——Foundation框架

------- android培训、java培训、IOS培训期待与您交流! ----------

1、Foundation框架概述

       首先,需要知道Cocoa开发工具,它是创建Mac OS X和IOS程序的原生面向对象API,为IOS和OS X程序开发提供了编程环境,通常称为Cocoa框架。它包含了众多子框架,其中Foundation和UIKit是两个常用的框架,Foundation是框架的基础,包含了大量API;UIKit是UI类库,主要用于界面设计与搭建。

系统框架层次图:

黑马程序员——Objective-C语言基本知识总结——Foundation框架_第1张图片

2、Foundation框架介绍

Foundation框架里最重要的是NSObject类,Foundation类层次的根是NSObject类,定义了基本的对象属性和行为。

Foundation框架的剩余部分由几组相互关联的类、独立的类组成。如:基本数据类型的类,系统信息类,系统实体类。

以下类层次结构图,表示了各类之间的逻辑分组以及继承关系,层次图为:

黑马程序员——Objective-C语言基本知识总结——Foundation框架_第2张图片

黑马程序员——Objective-C语言基本知识总结——Foundation框架_第3张图片

3、Foundation框架常用结构体

        Foundation框架中定义了很多常用结构类型,大大简化了我们日常的程序开发。而这些结构体均使用Objective-C定义,其主要目的是简化编程人员的操作,为编程者提供现成的结构体,常用的结构体有NSRange、NSPoint、NSSize、NSRect等。

3.1 NSRange结构体

NSRange结构体的数据项有location与length,分别记录起始位置、长度。

使用方法:

/*NSRange表示一个范围*/
void test1(){
    NSRange rg={3,5};//第一参数是起始位置第二个参数是长度
    //NSRange rg;
    //rg.location=3;
    //rg.length=5;
    //NSRange rg={.location=3,.length=5};
    //常用下面的方式定义 NSRange rg2=NSMakeRange(3,5);//使用NSMakeRange定义一个NSRange 
    //打印NSRange可以使用Foundation中方法 NSLog(@"rg2 is %@", NSStringFromRange(rg2));
    //注意不能直接NSLog(@"rg2 is %@", rg2),因为rg2不是对象(准确的说%@是指针)而是结构体
}

3.2 NSPoint结构体

NSPoint结构体的数据项有横纵坐标,记录点位置

使用方法:

/*NSPoint表示一个点*/
void test2(){
    NSPoint p=NSMakePoint(10, 15);//NSPoint其实就是CGPoint
    //这种方式比较常见 NSPoint p2=CGPointMake(10, 15);
    NSLog(NSStringFromPoint(p2));
}
 
   

3.3 NSSize结构体

NSSize结构体表示大小。

使用方法:

/*NSSize表示大小*/
void test3(){
    NSSize s=NSMakeSize(10, 15);//NSSize其实就是CGSize
    //这种方式比较常见 CGSize s2=CGSizeMake(10, 15);
    NSLog(NSStringFromSize(s2));
}

3.4 NSRect结构体

NSRect结构体表示一个矩形。

使用方法:

/*NSRect表示一个矩形*/
void test4(){
    NSRect r=NSMakeRect(10, 5, 100, 200);//NSRect其实就是CGRect
    //这种方式比较常见 NSRect r2=CGRectMake(10, 5, 100, 200);
    NSLog(NSStringFromRect(r2));
}

3.5 常用结构体使用说明

常用结构体在Foundation框架中都有一个对应的make方法进行创建。而且还有一个与之对应的NSStringFormXXX方法进行字符串转化,可以使用NSLog函数显示输出,方便编程人员的调试。

你可能感兴趣的:(黑马程序员——Objective-C语言基本知识总结——Foundation框架)