【黑马程序员】————Foundation框架01常用结构体

NSRange(location length)

NSPoint\CGPoint

NSSize\CGSize

NSRect\CGRect (CGPint CGSize)

1、NSRange(location length)

 1 void range()
 2 {
 3     // @"i love oc"  // love的范围
 4
 5     //NSRange r1 = {2, 4}; // 不用
 6     //NSRange r2 = {.location = 2, .length = 4};// 不用
 7     //NSRange r3 = NSMakeRange(2, 4); // 掌握
 8     NSString *str = @"i love oc";
 9
10     // 查找某个字符串在str中的范围
11     // 如果找不到,length=0,location=NSNotFound==-1
12     NSRange range = [str rangeOfString:@"java"];
13     NSLog(@"loc = %ld, length=%ld", range.location, range.length);
14 }

2、NSPoint\CGPoint

NSSize\CGSize

NSRect\CGRect (CGPint CGSize)

 1 void point()
 2 {
 3     CGPoint p1 = NSMakePoint(10, 10);
 4     NSPoint p2 = CGPointMake(20, 20);// 最常用
 5
 6     NSSize s1 = CGSizeMake(100, 50);
 7     NSSize s2 = NSMakeSize(100, 50);
 8     CGSize s3 = NSMakeSize(200, 60);
 9
10     CGRect r1 = CGRectMake(0, 0, 100, 50);
11
12     CGRect r2 = { {0, 0}, {100, 90}};
13
14     CGRect r3 = {p1, s2};
15
16     // 使用CGPointZero等的前提是添加CoreGraphics框架
17     CGRect r4 = {CGPointZero, CGSizeMake(100, 90)};
18
19
20     // CGSizeZero
21     // CGRectZero
22
23     // 表示原点
24     // CGPointZero == CGPointMake(0, 0)
25
26
27     // 将结构体转为字符串
28     //NSString *str = NSStringFromPoint(p1);
29
30     //NSString *str = NSStringFromSize(s3);
31
32     NSString *str = NSStringFromRect(r1);
33
34     NSLog(@"%@", str);
35
36
37     // NSLog(@"x=%f, y=%f, width=%f, height=%f", r1.origin.x, r1.origin.y, r1.size.width, r1.size.height);
38 }
39
40 //CGRect myRect(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
41 //{
42 //    CGRect rect;
43 //    rect.origin.x = x;
44 //    rect.origin.y = y;
45 //    rect.size.width = width;
46 //    rect.size.height = height;
47 //
48 //    return rect;
49 //}

3、函数

 1 void point()
 2 {
 3    // 使用这些CGPointEqualToPoint、CGRectContainsPoint等函数的前提是添加CoreGraphics框架
 4     //
 5
 6     // NextStep  Foundation
 7
 8
 9     // 比较两个点是否相同(x、y)
10     BOOL b = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10));
11     //CGRectEqualToRect(<#CGRect rect1#>, <#CGRect rect2#>)
12     //CGSizeEqualToSize(<#CGSize size1#>, <#CGSize size2#>)
13
14
15     // x (50, 150) y (40 , 90)
16     BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50), CGPointMake(60, 45));
17
18     NSLog(@"%d", b2);
19
20     return 0;
21 }
时间: 2024-12-22 02:17:12

【黑马程序员】————Foundation框架01常用结构体的相关文章

黑马程序员--Foundation框架之--类其他常用的类:NSNumber,NSDate

------IOS培训期待与您交流! ------- Foundation的其他常用的类:NSNumber,NSDate 一.NSNumber 这个类主要是用来封装基本类型的,OC 中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去. 从这一点上我们就可以看出NSNumber是很重要的,后面一定会经常用到. 1.封包和解包 // 创建NSNumber // 封包 NSNumber *intNumber = [NSNumber numberWithI

黑马程序员——Foundation框架常用类(NSNumber/NSValue)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 简介 引入:NSArray.NSSet.NSDictionary这些OC集合都只能存放OC对象,不能存放基本数据类型(int.char.double...).如果我们想将基本数据类型存到这些OC集合中,那么我们将基本数据类型(int.char.double...)包装成OC对象,那么就可以存到OC集合中.NSNumber可以将基本数据类型包装为OC对象. NSValue:用来存储一个C或者OC的

黑马程序员------Foundation框架中各种牛瓣数据类型

-----iOS培训.Android培训.Java培训,期待与您交流----- 一.NSRange.NSPoint\CGPoint. NSSize\CGSize.NSRect\CGRect (CGPint CGSize)结构体 1)NSRange NSRange表示一个范围,比如我们想求个@"I fall in love with Objective-C~";  这个字符串中"love"的表示范围就是位置从11开始,长度为4: NSRange的本质是一个结构体, 里

黑马程序员——Foundation框架的小总结

一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了.即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用

黑马程序员-Foundation框架之数组和字典

一.Foundation框架简介 Foundation框架,顾名思义就是基础框架.基础框架上的类都是与用户界面无关的,为所有的程序开发提供一个基础.OC的基础框架常用的类包括:数组,字典,数字,字符串等以及它们的子类.要使用这个框架需要在引入头文件#import <Foundation/Foundation.h> 二.数组 NSArray类以及它的子类NSMutableArray,一个是不可变数组,一个是可变数组.下面通过代码来看一下它的一些基本的用法. 1 #import <Found

黑马程序员--Foundation框架之--NSArray类以及它的子类NSMutableArray类

今天我们继续来看一下Foundation框架中的NSArray类和 NSMutableArray类,NSArray类 是不可变的,NSMutableArray类是可变的. 一.NSArray类 NSArray中不可以存放基本数据类型,只能存放类的实例,如果需要将基本类型.结构体放入到数组中得话,需要通过NSNumber/NSValue进行数据的封装 同时不能在NSArray中存储nil // // main.m // 16_NSArray // // Created by waterfoxjie

黑马程序员--Foundation框架之--NSString类以及它的子类NSMutableString类

继续看一下Foundation框架中的常用对象:NSString和NSMutableString 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutableString是可变的,和Java中的StringBuilder一样. 一.NSString对象 在OC中,NSString对象是非常重要的一个对象,也是最基础的一个对象,是用来处理字符串的常用类. 下面来看一下NSString的一些方法的使用: 1.创建的方法 // 字符串的创建方式 NSString *s

黑马程序员--Foundation框架之--NSObject类

OC中的Foundation框架是系统提供的,他就相当于是系统的一套api,其内部有很多现有的类和功能提供给我们使用. 那么今天首先来介绍一下Foundation框架中的第一个类NSObject. // // Person.h // 13_NSObjectMethod // // Created by waterfoxjie 15-03-31. // Copyright (c) 2015年 waterfoxjie. All rights reserved. // #import <Foundat

黑马程序员--Foundation框架之--NSDirctionary类以及它的子类NSMutableDirctionary类

------IOS培训期待与您交流! ------- 今天来看一下Foundation框架中的NSDirctionary 类,NSMutableDirctionary类,OC中叫字典,字典是无序的,这个和NSArray不一样. 一.NSDirctionary类 1.创建方法 // 字典的创建 NSArray *array1 = [NSArray arrayWithObjects:@"zhangsan",@"zhangfei", nil nil]; NSArray *