【iOS开发】Foundation框架的总结

第一种:结构体

1》范围

NSRange等价于CGRange

typedef struct _NSRange

{

unsigned int location;

unsigned int length;

} NSRange;

使用较多的是CGRangeMake()方法;


2》几何数据

struct CGPoint

{

float x;

float y;

};

struct CGSize

{

float width;

float height;

};

struct CGRect

{

CGPoint origin;

CGSize size;

};

使用较多的是CGPointMake(), CGSizeMake(), CGRectMake()等方法。


第二种:类

1》NSString类

字符串创建方法:

1.1》NSString *str = @"hello";

1.2》NSString *str = [NSString stringWithFoemat:@"hello%d", 10];

1.3》从外部文件读取,转换C语言字符串,等一些方法

字符串比较:

if([str1 isEqualToString:str2])

{

NSLog(@"equal");

}

if([str1 == str2])

{

NSLog(@"equal");

}

注第一种比较的是数值,第二种比较的是对象。

2》可变字符串NSMutableString

想java中的一样NSString有其子类为NSMutableString类。

NSMutablestring *str = [NSMutableString stringWithCapacity:50];

[str appendString:@"Hello world"]; //增加字符串

[str appendFormat:@"huma %d", 20];

还有删除字符串的方法为deleteCharactersInRange:(CGRange);


第三种集合(只能存取OC对象,不能存放基本的数据类型,也不可以存入空值,但是可以把基本的数据类型打包成OC对象以后存进集合,)

1》NSArray(有顺序)

创建方式:NSArray *array = @[@"one", @"two", @"three" ];


2》NSArray的子类NSMutableArray

创建 [NSMutableArray array]

添加[array addObject:@"hellio"];

删除[array removeObjectAtIndex:1];


1-2关于数组的遍历:

1》通过索引

2》使用NSEnumerator枚举

NSEnumerator *enumerator = [array objectEnumerator];

while (id thing = [enumerator nextObject])

{

NSLog(@"%@" , thing);

}

3》使用快速枚举

for(NSString *str in arry)

{

NSLog(@"%@", str);

}

4》使用最新代码块




3》NSSet和NSMutableSet(无顺序)


4》NSDictionary和NSMutableDictionary(键值对)

创建方式:

NSDictionary *dict = @{@"feifeiteng":@(1), @"peggy";@(2)}; @1是把基本数据类型转为OC对象


NSMutableDictionary *dict = {NSMutableDictionary dictionary};

[dict setObject:@"hello" forKey:@"1"]; //添加

[dict removeObjecetForKey:@"1"]; //移除

另一种添加方式

 image1[@"key"] = @"biaoqingdi";

 image1[@"desc"] = @"什么表情在他面前都弱爆了!";


第四种:数值(OC语言不支持自动装箱 )

1》NSNumber

number = @123; //装箱,把123变为OC对象,这样就能存入集合中了(java支持自动装箱与拆箱功能)。


2》NSValue

将任何类型的基本数据(包括结构体,枚举)转为OC对象





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。