黑马程序员-Foundation-结构体与常用类(一)

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

结构体:

有如下结构体:

NSRange,NSPoint/CGPoint,NSSize/CGSize,NSRect/CGRect

注意点:CG开头的结构体一般属于CoreGraphics框架

1.NSRange(表示范围)

参数:location(位置),length(长度)

1  NSRange r1 = {2,3} ; // 表示从2开始,3个长度
2  NSRange r2 = NSMakeRange(2,4); // 表示从2开始,4个长度 常用此方式  常用
3  NSRange r3 = {.location=2,length=4};</span> 

查找某字符串在字符串str中的范围

1 NSRange r3 = [str rangeOfString:@"love"]; // 查找字符串love在str中的范围。
2 NSLog("location = %d,range =%d",r3.location,r3.range); // 打印出结果 

2.NSPoint/CGPoint(表示点坐标)

CGPoint跨平台。

NSFloat = CGFloat = double

参数:double类型的x和double类型的y。

1 NSPoint p = NSMakePoint(20,20); // 表示点的x和y坐标
2 NSPoint p2 = CGPointMake(20,20);  

CGPointZero表示原点,相当于CGPointMake(0,0)

CGPointEqualToPoint(CGPointMake(1,1),CGPointMake(2,2)); // 判断两个点是否相同,布尔型

3.NSSize/CGSize(表示UI的尺寸大小) 

参数:长度x和宽度y

1 eg:NSSize s1 = CGSizeMake(100,20); // 表示宽度是100,高度是20</span>  

4.NSRect/CGRect(表示UI的位置和尺寸)

参数:CGPoint(位置),CGSize(尺寸)

1 CGRect r4 = CGRectMake(1,2,3,4); // 表示x坐标1,y坐标2,宽度3,高度4.  

将结构体转化为字符串(将参数按照顺序打印出来)

NSString *p = NSStringFromPoint(p1);

5.结构体和字符串相互转化

1 NSString *str = NSStringFromPoint(p1); // 将点坐标的结构体转化为字符串
2 NSString *str = NSStringFromSize(s1); // 将UI尺寸大小的结构体转化为字符串  

常用类:

NSString/NSMutableString,NSSet/NSMutableSet,NSArray/NSMutableArray

NSString : 不可变字符串

NSMutableString(继承NSString):可变字符串(可调用添加方法,对字符串对象内容进行修改,例如字符串内的内容可以随意添加或删除)。

1.字符串创建的几种方法

(1)NSString *s1 = @"jack";

(2)NSString *s2 = [[NSString alloc] initWithFormat:@"age is %d",10];

(3)NSString *s3 = [[NSString alloc] initWithString:@"jack"];

(4)NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"]; // 将c语言字符串转化为OC字符串

char *cs = [s4 UTF8String]; // 将oc字符串转化为C字符串

 

2.读取文件内容

[NSString stringWithContentsOfFile:@"文件路径" encoding:NSUTF8StringEncoding  error:nil];
[NSURL URLwithString:@"文件路径"];  

3.写入文件

1 [@"jack " writeToFile:@"/users/apple/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];  

注意点:1>如果不存在my.txt,则 会自动创建此文件。

2>设置为YES时,如果写入错误,则不会创建my.txt

4. NSMutableString

作用:可以随意往字符串内部添加或删除内容。

1 [s1 appendString:@" 11 12"]; // 在字符串s1后添加11  12。且返回s1字符串
2 [s1 deleteCharactersInRange:NSMakeRange(4,2)]; // 删除字符串s1的从4位开始往后2位的内容,且返回s1本身</span>  

5.求出字符串的第i位

unichar i = [str characterAtIdex:i];

6.按照某字符串分割字符串,返回数组

NSArray *array = [content componentsSeparatedByString:@"\n"];

按照字符串\n将字符串content分割,并且分割后的内容以数组形式返回。

时间: 2024-11-10 15:14:27

黑马程序员-Foundation-结构体与常用类(一)的相关文章

【黑马程序员】————结构体

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.什么是结构体 数组:只能由多个相同类型的数据构成 结构体:可以由多个不同类型的数据构成 二.结构体的定义 1.定义形式 结构体内部的元素,也就是组成成分,我们一般称为"成员". 结构体的一般定义形式为: 1 struct 结构体名{ //struct是关键字,是结构体类型的标志 2 3 类型名1 成员名1; 4 5 类型名2 成员名2; 6 7 …… 8 9 类型名n 成员名n;

黑马程序员-关于结构体

------- IOS培训.android培训.java培训.期待与您交流! ---------- 1 结构体: 作用:可以由多个不同类型的数据构成. //定义结构体类型,类型为person:(此阶段不会分配存储空间 1 struct person 2 { 3 变量; // 称为结构体变量或属性 4 } 5 //根据结构体类型person,定义结构体变量,变量名为p(此阶段分配存储空间) 6 struct person p={ }; // 赋值的时候只能在定义结构体的时候同时赋值 错误写法 st

《黑马程序员》 结构体struct (C语言)

一.结构体的基本概念 ●     数   组:只能由多个相同类型的数据组成 ●     结构体:可以由多种不同类型的数据组成 代码练习: #include <stdio.h> int main() { // 1.定义结构体类型 struct person (并不会分配存储空间) struct person { int age; double height; char *name; }; //2.根据结构体类型,定义结构体变量 (真正分配存储空间)struct person p ={20,1.5

黑马程序员___Foundation__结构体

结构体 NSRange: 用来表示范围 创建 NSRange r1 = {2, 4} NSRange r2 = {.location = 2, .length = 4} NSRange r3 = NSMakeRange(2, 4) 查找某个字符串在str中的范围 NSString *str = @"i love oc"; NSRange range = [str rangeOfString:@"java"] NSLog(@"location = %ld,

黑马程序员—System/Runtime/Calendor系统常用类

System/Runtime/Calendor系统常用类 ---------android培训 .ava 培训  .期待与您交流! ---------- System类 System类包含一些有用的类字段和方法.它不能被实例化. 在System类提供的设施中,有标准输入.标准输出和错误输出流:对外部定义的属性和环境变量的访问:加载文件和库的方法:还有快速复制数组的一部分的实用方法. System 可以描述系统文件使用的静态方法 static PrintStream err "标准"错误

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

==========android培训.ios培训.java培训.期待与您交流========== 一.NSSet: NSSet NSSet里面存储的元素没有顺序,NSArray中的元素有顺序. NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变. NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject]; //

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员--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的