---------------------- Java培训、.Net培训、Android培训、IOS培训、期待与您交流! ----------------------
创建一个OC对象我们必须继承 NSObject, 而NSObject是依赖于Foundation框架的,除此之外框架中由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,方便我们开发;而且开发中常用到的对象集合,如数组、字典、集合;其他功能包括内存管理,处理基础文件系统、存储对象等,因此Foundation框架是IOS开发中必不可少的基础框架之一。
常用的结构体 :
NSRange(location length)
NSPoint\CGPoint
NSSize\CGSize
NSRect\CGRect (CGPint CGSize)
(1) NSRange的原型 :
typedef struct _NSRange { NSUInteger location; // 存储元素的位置 NSUInteger length; // 描述元素的长度 } NSRange;
(2) NSRange的初始化方式 :
#import <Foundation/Foundation.h> int main() { /* 使用C语言的结构体初始化方式,但在OC开发中一般不用 NSRange r1 = {2,4}; NSRange r2 = {.length = 4, .location = 2}; */ NSRange r3 = NSMakeRange(2,4); // 开发中一般使用这种方式 return 0; }
(3) 使用例子 :
#import <Foundation/Foundation.h> /* 查找某个字符串在str中的范围 如果找到使用NSRange来表示他的存储位置和长度 如果找不到,length=0,location=NSNotFound==-1 - (NSRange)rangeOfString:(NSString *)aString; */ int main() { NSSting *str = @"hello oc"; NSRange r = [str rangeOfString:@"java"]; NSLog(@"location = %ld , length = %ld",r.location,r.length); // location = -1 , length = 0 return 0; }
(1) NSPoint\CGPoint原型 :
// CGPoint struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint; // NSPoint typedef CGPoint NSPoint ;
(2) NSPoint\CGPoint的初始化方式 :
#import <Foundation/Foundation.h> int main() { /* 使用C语言的结构体初始化方式,但在OC开发中一般不用 NSPoint p1 = {2,4}; // CGPoint p1 = {2,4}; NSPoint p2 = {.y= 4, .x = 2}; // CGPoint p2 = {.y= 4, .x = 2}; */ CGPoint p3 = CGPointMake(2,4); // 开发中一般使用这种方式 // NSPoint p3 = NSMakeNSPoint(2,4); return 0; }
(3) 使用例子 :
#import <Foundation/Foundation.h> // 使用这些CGPointEqualToPoint、CGPointZero的前提是添加CoreGraphics框架 #import <CoreGraphics/CoreGraphics.h> int main() { // 比较两个点是否重合 BOOL b = CGPointEqualToPoint(CGPointMake(10,20),CGPointMake(10,20)); // b = YES // 表示原点 // CGPointZero == CGPointMake(0,0) BOOL b = CGPointEqualToPoint(CGPointZero ,CGPointMake(0,0)); // b = YES // 将结构体转化为字符串 NSString *str = NSStringFromPoint(CGPointMake(10,20)); NSLog(@"p = %@",str); // p = {10, 20} return 0; }
(1) NSSize\CGSize 原型 :
// CGSize struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize; // NSSize typedef CGSize NSSize;
(2) NSSize\CGSize 的初始化方式 :
#import <Foundation/Foundation.h> int main() { NSSize s1 = CGSizeMake(100, 50); // 开发中一般使用这种 NSSize s2 = NSMakeSize(100, 50); CGSize s3 = NSMakeSize(200, 60); return 0; }
(3) 使用例子 :
#import <Foundation/Foundation.h> // 使用这些CGSizeEqualToSize的前提是添加CoreGraphics框架 #import <CoreGraphics/CoreGraphics.h> int main() { BOOL b = CGSizeEqualToSize(CGSizeMake(100,200),CGSizeMake(100,200)); // b = YES NSSize s = CGSizeMake(100,200); NSString *str = NSStringFromSize(s); NSLog(@"size : %@",s); // size : {100, 200} return 0; }
(1) NSPoint\CGPoint原型 :
// CGPoint struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint; // NSPoint typedef CGPoint NSPoint ;
(2) NSPoint\CGPoint的初始化方式 :
#import <Foundation/Foundation.h> int main() { /* 使用C语言的结构体初始化方式,但在OC开发中一般不用 NSPoint p1 = {2,4}; // CGPoint p1 = {2,4}; NSPoint p2 = {.y= 4, .x = 2}; // CGPoint p2 = {.y= 4, .x = 2}; */ CGPoint p3 = CGPointMake(2,4); // 开发中一般使用这种方式 // NSPoint p3 = NSMakeNSPoint(2,4); return 0; }
(3) 使用例子 :
#import <Foundation/Foundation.h> // 使用这些CGPointEqualToPoint、CGPointZero的前提是添加CoreGraphics框架 #import <CoreGraphics/CoreGraphics.h> int main() { // 比较两个点是否重合 BOOL b = CGPointEqualToPoint(CGPointMake(10,20),CGPointMake(10,20)); // b = YES // 表示原点 // CGPointZero == CGPointMake(0,0) BOOL b = CGPointEqualToPoint(CGPointZero ,CGPointMake(0,0)); // b = YES // 将结构体转化为字符串 NSString *str = NSStringFromPoint(CGPointMake(10,20)); NSLog(@"p = %@",str); // p = {10, 20} return 0; }
(1) NSRect\CGRect 原型 :
// CGRect struct CGRect { CGPoint origin; CGSize size; }; typedef struct CGRect CGRect; // NSRect typedef CGRect NSRect;
(2) NSRect\CGRect 的初始化方式 :
#import <Foundation/Foundation.h> int main() { // 两个对焦点确定一个矩形 CGRect r1 = NSMakeRect(0, 0, 10, 20); NSRect r2 = CGRectMake(0, 0, 10, 20); // 开发中一般使用这种方式 return 0; }
(3) 使用例子 :
#import <Foundation/Foundation.h> // 使用这些CGSizeEqualToSize的前提是添加CoreGraphics框架 #import <CoreGraphics/CoreGraphics.h> int main() { NSRect r2 = CGRectMake(0, 0, 10, 20); NSString *str = NSStringFromRect(r1); NSLog(@"rect = %@",str); // rect = {{0, 0}, {10, 20}} return 0; }
---------------------- Java培训、.Net培训、Android培训、IOS培训、期待与您交流! ----------------------
详情请查看:http://edu.csdn.net/heima