当前位置:首页 > 资讯 > info6 > 正文

OC学习:Foundation框架之常用结构体

发表于: 2015-05-17   作者:businiao_zell   来源:转载   浏览:
摘要: 在iOS开发中所有框架中Foundation框架是最基础的框架,Foundation框架里面包含了常用的类和数据类型。使用Foundation框架只要包含它的主头文件即可,主头文件里面包含了框架中所有内容的头文件。Foundation框架中常用的结构体:NSRange、NSPoint\CGPoint、NSSize\CGSize、NSRect\CGRect使用CGPoint、CGSize、CGRec

在iOS开发中所有框架中Foundation框架是最基础的框架,Foundation框架里面包含了常用的类和数据类型。


使用Foundation框架只要包含它的主头文件<Foundation/Foundation.h>即可,主头文件里面包含了框架中所有内容的头文件。


Foundation框架中常用的结构体:NSRange、NSPoint\CGPoint、NSSize\CGSize、NSRect\CGRect

使用CGPoint、 CGSize、CGRect需要包含另一个框架,结构体常用函数是在CoreGraphics.framework框架下面,因此需要先添加框架。


struct Date {
    int year;
    int month;
    int day;
};

struct Date date = {2015,5,2};

struct Date date2 = {.year=2015, .day=10, .month=4};

这个例子是结构体在OC中的表示。


一、NSRange结构体

此结构体表示的是字符位置和长度。

typedef struct _NSRange {
    NSUInteger location;    // 位置
    NSUInteger length;      // 长度
} NSRange; 
// NSUInteger 类型为无符号类型,可以简单理解为表示正整数的类型,在NSLog输出时用ld

查找NSString类对象中某些字符在整个类对象中的NSRange。

NSString *str = @"I like oc"; // NSString类的分类已经对这种需求做了实现 因此可以直接调用类方法来实现
NSRange range  = [str rangeOfString:@"like"]; // 打印的NSRange结构体中的变量由于都是NSUInteger类型 因此在输出时用ld
NSLog(@"location = %ld, length = %ld",range.location,rang.length); 

如果没有找到要查找的值NSRange中的length = 0, location = NSNotFound,其中NSNotFound如果以NSLog(@"%d",NSNotFound); 输出一长串    数字;而如果以 NSLog(@"%d",NSNotFound); 输出的就是 -1。


二、CGPoint

此结构体表示的是点坐标。

用法举例:

CGPoint point = NSMakePoint(20, 20); 
NSPoint point2 = CGPointMake(20, 20);


三、CGSize

此结构体表示的是尺寸。

用法举例:

CGSize size = NSMakeSize(20, 40);
NSSize size2 = CGSizeMake(40, 20); 



四、 CGRect

此结构体表示的是位置和尺寸。

用法举例:

CGRect rect = CGRectMake(20, 20, 50, 100); 
NSRect rect2 = NSMakeRect(20, 20, 50, 100);

CGRectZero == CGRectMake(0,0,0,0);
CGSizeZero == CGSizeMake(0,0);
CGPointZero == CGPointMake(0,0);
CGRect rect = {{20,50},{50,100}};
  
NSPoint point = CGPointMake(20, 20);
NSSize size = CGSizeMake(50, 100);
CGRect rect2  = {point,size};
  
CGRect rect3 = {CGPointZero,CGSizeMake(50, 100)};



OC学习:Foundation框架之常用结构体

编辑推荐
Foundation框架—结构体 一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类
Foundation框架—结构体 一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类
本文主要介绍以下几部分: 一、常见结构体 常见的结构体除了在NSString中用到的NSRange,还有以下几
一、基本知识   Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,
一、基本知识   Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,
概述 原文地址:http://www.cnblogs.com/kenshincui/p/3885689.html 我们前面的章节中就一直新建Coc
一、NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用
本文主要介绍以下几部分 框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合。 Foundat
(1) struct ethhdr { unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ unsigned char
看大牛雷霄骅的博客,再次精简出学习ffmpeg的一些知识, 本篇简要整理一下ffmpeg中常用的几个结构体
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号