黑马程序员 Foundation框架

——- android培训java培训ios培训期待与您交流!

Foundtaion框架中有很多有用的、面向数据的低级类和数据类型,如NSString,NSArray,NSNumber等,Foundation框架荣有100多个类。

常用数据类型

1.结构体

1.1 NSRange
结构体NSRange表示事物的范围,通常是字符串中字符的范围和数组里的元素范围

定义:

typedef struct NSRange
{
    unsigned int location;
    unsigned int length;
} NSRange;
location:范围的起始位置
length:该范围内的长度

例如:

//表示def的所在的范围

NSString *str=@"abc def g";
//第一种赋值方式
NSRange range1;
range1.location=4;
range1.length=3;
//第二种赋值方式
NSRange range2={4,3};
//第三种赋值方式
NSRange range3={.location=4,.length=3};
//第四种赋值方式
NSRange range4=NSMakeRange(4,3);
//第五种方式,调用字符串方法
NSRange range5=[str rangOfRange:@"def"];
/*
注意:
如果找不到值,length值为0,location值为NSNotFound(-1)
*/
1.2 NSPoint/CGPoint
表示坐标中的点(x,y)

定义:

struct CGPoint {
  CGFloat x;
  CGFloat y;
};
typedef struct CGPoint CGPoint;
计算机中左上角起始值为(0,0)

例如:

//(10,10)
CGPoint point1=NSMakePoint(10,10);
NSPoint point2=CGPointMake(10,10);//最常用
1.3NSSize/CGSize
用来存储长度和宽度

定义:

struct CGSize {
  CGFloat width;
  CGFloat height;
};
typedef struct CGSize CGSize;
width:长度
height:宽度

例如

NSSize s1 = NSMakeSize(100,50);
CGSize s2 = CGSizeMake(100,50);
1.4 NSRect/CGRect
包含点和尺寸,表示一个矩形

定义:

struct CGRect{
CGPoint origin;
CGSize size;
} ;
typedef struct CGRect CGRect;
origin:表示一个点
size:表示长度和宽度

例如:

CGRect rect1=CGRectMake(10,10,100,50);
CGRect rect2={{10,10},{100,50}};

将结构体转化为字符串

//CGPoint转化
CGPoint point=CGPointMake(10,10);
NSString *p=NSStringFromPoint(point);
//CGSize转化
CGSize size=CGSizeMake(100,50);
NSString *s=NSStringFromSize(size);
//CGRect转化
CGRect rect=CGRectMake(10,10,100,50);
NSString *r=NSStringFromRect(rect);

2.常用类

2.1 NSString

文件中读取字符串

[NSString stringWithContentsOfFile:@"地址",edcoding:编码方式,error:错误]
USURL *url=[USURL URLWithString:@"地址"];
[NSString stringWithContentsOfURL:url,edcoding:编码方式,error:错误]
2.2 NSMutableString
1.继承自NSString,拥有NSString的所有方法
2.可变字符串
3.NSString为不可变字符串

例如

NSMutableString *mstr=[NSMutableString stringWithFormat:@"1234"];
//可以拼接字符串mstr
[mstr sppendString:@"abcd"];
//NSString 不可变字符串,拼接时需重新声明变量
NSString *nstr1=@"123";
NSString *nstr2=[nstr1 stringByAppendString:@"abc"];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值