黑马程序员_OC之Foundation框架
来源:互联网 发布:淘宝导航条怎么去掉 编辑:程序博客网 时间:2024/06/05 03:50
Foundation框架
Foundation框架是其他所有ios框架的基础
Foundation框架包含了很多开发中常用的数据类型
1>、结构体
2>、枚举
3>、类
要想使用Foundation中的数据类型,包含它的主文件即可#import<Foundation/Foundation.h>
一、结构体
在main.h文件中
#import<Foundation/Foundation.h>
int main()
{
/*结构体:是系统定义的结构体吗?
NSRange (location length) :表示范围
NSPoint/ CGPoint
NSSize/CGSize
NSRect/CGRect */
/* struct Date{
int year;
int month;
int day;
}Date;
struct Date d = {2011,9,01};
或者struct Date d2 = {.mongth = 10,.year = 2012,.day = 01};*/
//CGPoint p1 = NSMakePoint(10,10);
CGPoint p2 = CGPointMake(10,10);//最常用
NSString *str = NSStringFromPoint(p2);
NSLog(@"");
return 0;
}
- (void)range
{
@"i love oc";
NSRange r1 = {2,4}; //不用
//love在@"i love oc"中的location和 length,这种方式不用
NSRange r2 = NSMakeRange(2,4); //掌握
//NSMakeRange是Foundation自带的函数
NSString *str = @"i love oc";
NSRange range = [str rangeOfString:@"love"]; //love在str中的范围
NSLog(@"loc = %d,length = %d",range.location,range.length);
}
总结:1、NSRange (location length) 是一个表示范围的结构体
2、NSRange r2 = NSMakeRange(2,4); //掌握
1>、love在@"i love oc"中的location和 length
2>、NSMakeRange是Foundation自带的函数
3、查找某个字符串在str中的范围
NSString *str = @"i love oc";
NSRange range = [str rangeOfString:@"love"];
//love在str中的范围
1>、如果在str中找不到这个字符串,返回length = 0;location = NSNotFound = -1(以整数形式打印)
2>、
4、NSPoint/CGpoint结构体:表示坐标位置
struct CGPoint{
CGFloat x; //CGFloat相当于double
CGFloat y;
};
typedef struct CGPoint CGPoint;
typedef CGPoint NAPoint;
1>、用法:
CGPoint p1 = NSMakePoint(10,10);
CGPoint p2 = CGPointMake(10,10);//最常用
这两种都可以,但是第二种比较常用
2>把一个结构体转成字符串
NSString *str = NSStringFromPoint(p1);
5、NSSize/CGSize:表示UI元素的尺寸
用法和NSPoint/CGpoint结构体一样
6、NSRect/CGRect(CGPoint,CGSize)
用法: CGRect r1 = NSRectMake(0,0,100,50);
7、CGPointEqualToPoint //比较这两个点是否相同
CGRectEqualToRect CGSizeEqualToSize
8、CGRectContainsPoint //某个点是否在矩形范围内
CGRectContainsPoint(CGRectMake(50,40,100,50),
CGPointMake(130,70))
//判断右边的点在不在左边的范围,返回值是bool类型
二、字符串
1、开发中常见的类
NSString 子类:NSMutableString
// 集合类
NSArray 子类:NSMutableArray
NSSet 子类:NSMutableSet
NSDictionary子类:NSMutabledictionary
NSDate
NSObject
2、NSString 子类:NSMutableString
NSString:不可变字符串
NSMutableString:可变字符串
在main.m文件中
#import<Foundation/Foundation.h>
int main()
{/*字符串的创建*/
NSString *s1 = @"4393683";
NSString *s2 = [[NSString alloc] initWithString:@"jack"];
NSString *s3 =[[NSString alloc] initWithFormat:@"abjk"];
//C字符串——》OC字符串
NSString *s4 =[[NSString alloc] initWithUTF8String:@"abjk"];
/* OC字符串——》C字符串
const char *cs = [s4 UTF8String]; */
NSMutableString s7 = [[NSString alloc] initWithFormat:@"ab"];
[s7 appendString:@"abcd"];
[s7 deleteCharactersInRange:NSMakeRange(4,2)];
[s7 rangeOfString:@"is"];
return0;
}
小结:1>、字符串的创建
NSString *s1 = @"4393683";
NSString *s2 = [[NSString alloc] initWithString:@"jack"];
NSString *s3 =[[NSString alloc] initWithFormat:@"abjk"];
NSString *s4 =[[NSString alloc] initWithUTF8String:@"abjk"];
NSString *s5 =[[NSString alloc]
initWithContentsOfURL:url
encoding:NSUTF8StringEncoding error:nil];
2>、系统自带的方法一般都会有一个类方法跟对象方法配对
3、NSArray 子类:NSMutableArray //集合类
1>、NSArray:不可变数组 NSMutableArray:可变数组
2>、oc数组稚嫩存放oc对象,不能存放非OC对象类型,比如int、struct、enum等
3>、NSArray中元素的创建
NSArray *array = [NSArray array];//这个array永远是空数组
NSArray *array2 = [NSArray arrayWithObject:@"jack"];
NSArray *array3 = [NSArray arrayWithObject:@"jack",@rose,nil];
//nil是数组元素结束的标志 前面的所有的元素都是数组元素
4>、NSArray中元素的个数
[array2 count];//用来计算array2中的元素个数
//也可以用array2.count
5>、NSArray中元素的访问
[array3 objectAtIndex:1]//只返回array3中的array3[1]
6>、快速创建一个NSArray数组
NSArray *array4 = @[@"jack",@"rose",@"2849"];
7>、快速遍历一个NSArray数组中的所有元素
Person *p = [[Person alloc] init];
NSArray *array = @[p,@"jack"];
/* for(int i = 0;i<array.count,i++)
{
NSLog(@"%@",array[i]);
} */
for(id obj int array)//id obj代表数组中的每一个元素
{
NSLog(@"%@",obj);
int i = [array indeaOfObject:obj];//代表obj在数组中的位置是i
}//但是不知道这是当前第几个
int i = [array indeaOfObject:obj];//代表obj在数组中的位置是i
8>、遍历数组
[array enumrateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)];
// 每遍历到一个元素,就会调用一次block
//并且当前元素和索引位置当前参数传block
------ IOS培训、android培训、期待与您交流!-------
Foundation框架是其他所有ios框架的基础
Foundation框架包含了很多开发中常用的数据类型
1>、结构体
2>、枚举
3>、类
要想使用Foundation中的数据类型,包含它的主文件即可#import<Foundation/Foundation.h>
一、结构体
在main.h文件中
#import<Foundation/Foundation.h>
int main()
{
/*结构体:是系统定义的结构体吗?
NSRange (location length) :表示范围
NSPoint/ CGPoint
NSSize/CGSize
NSRect/CGRect */
/* struct Date{
int year;
int month;
int day;
}Date;
struct Date d = {2011,9,01};
或者struct Date d2 = {.mongth = 10,.year = 2012,.day = 01};*/
//CGPoint p1 = NSMakePoint(10,10);
CGPoint p2 = CGPointMake(10,10);//最常用
NSString *str = NSStringFromPoint(p2);
NSLog(@"");
return 0;
}
- (void)range
{
@"i love oc";
NSRange r1 = {2,4}; //不用
//love在@"i love oc"中的location和 length,这种方式不用
NSRange r2 = NSMakeRange(2,4); //掌握
//NSMakeRange是Foundation自带的函数
NSString *str = @"i love oc";
NSRange range = [str rangeOfString:@"love"]; //love在str中的范围
NSLog(@"loc = %d,length = %d",range.location,range.length);
}
总结:1、NSRange (location length) 是一个表示范围的结构体
2、NSRange r2 = NSMakeRange(2,4); //掌握
1>、love在@"i love oc"中的location和 length
2>、NSMakeRange是Foundation自带的函数
3、查找某个字符串在str中的范围
NSString *str = @"i love oc";
NSRange range = [str rangeOfString:@"love"];
//love在str中的范围
1>、如果在str中找不到这个字符串,返回length = 0;location = NSNotFound = -1(以整数形式打印)
2>、
4、NSPoint/CGpoint结构体:表示坐标位置
struct CGPoint{
CGFloat x; //CGFloat相当于double
CGFloat y;
};
typedef struct CGPoint CGPoint;
typedef CGPoint NAPoint;
1>、用法:
CGPoint p1 = NSMakePoint(10,10);
CGPoint p2 = CGPointMake(10,10);//最常用
这两种都可以,但是第二种比较常用
2>把一个结构体转成字符串
NSString *str = NSStringFromPoint(p1);
5、NSSize/CGSize:表示UI元素的尺寸
用法和NSPoint/CGpoint结构体一样
6、NSRect/CGRect(CGPoint,CGSize)
用法: CGRect r1 = NSRectMake(0,0,100,50);
7、CGPointEqualToPoint //比较这两个点是否相同
CGRectEqualToRect CGSizeEqualToSize
8、CGRectContainsPoint //某个点是否在矩形范围内
CGRectContainsPoint(CGRectMake(50,40,100,50),
CGPointMake(130,70))
//判断右边的点在不在左边的范围,返回值是bool类型
二、字符串
1、开发中常见的类
NSString 子类:NSMutableString
// 集合类
NSArray 子类:NSMutableArray
NSSet 子类:NSMutableSet
NSDictionary子类:NSMutabledictionary
NSDate
NSObject
2、NSString 子类:NSMutableString
NSString:不可变字符串
NSMutableString:可变字符串
在main.m文件中
#import<Foundation/Foundation.h>
int main()
{/*字符串的创建*/
NSString *s1 = @"4393683";
NSString *s2 = [[NSString alloc] initWithString:@"jack"];
NSString *s3 =[[NSString alloc] initWithFormat:@"abjk"];
//C字符串——》OC字符串
NSString *s4 =[[NSString alloc] initWithUTF8String:@"abjk"];
/* OC字符串——》C字符串
const char *cs = [s4 UTF8String]; */
NSMutableString s7 = [[NSString alloc] initWithFormat:@"ab"];
[s7 appendString:@"abcd"];
[s7 deleteCharactersInRange:NSMakeRange(4,2)];
[s7 rangeOfString:@"is"];
return0;
}
小结:1>、字符串的创建
NSString *s1 = @"4393683";
NSString *s2 = [[NSString alloc] initWithString:@"jack"];
NSString *s3 =[[NSString alloc] initWithFormat:@"abjk"];
NSString *s4 =[[NSString alloc] initWithUTF8String:@"abjk"];
NSString *s5 =[[NSString alloc]
initWithContentsOfURL:url
encoding:NSUTF8StringEncoding error:nil];
2>、系统自带的方法一般都会有一个类方法跟对象方法配对
3、NSArray 子类:NSMutableArray //集合类
1>、NSArray:不可变数组 NSMutableArray:可变数组
2>、oc数组稚嫩存放oc对象,不能存放非OC对象类型,比如int、struct、enum等
3>、NSArray中元素的创建
NSArray *array = [NSArray array];//这个array永远是空数组
NSArray *array2 = [NSArray arrayWithObject:@"jack"];
NSArray *array3 = [NSArray arrayWithObject:@"jack",@rose,nil];
//nil是数组元素结束的标志 前面的所有的元素都是数组元素
4>、NSArray中元素的个数
[array2 count];//用来计算array2中的元素个数
//也可以用array2.count
5>、NSArray中元素的访问
[array3 objectAtIndex:1]//只返回array3中的array3[1]
6>、快速创建一个NSArray数组
NSArray *array4 = @[@"jack",@"rose",@"2849"];
7>、快速遍历一个NSArray数组中的所有元素
Person *p = [[Person alloc] init];
NSArray *array = @[p,@"jack"];
/* for(int i = 0;i<array.count,i++)
{
NSLog(@"%@",array[i]);
} */
for(id obj int array)//id obj代表数组中的每一个元素
{
NSLog(@"%@",obj);
int i = [array indeaOfObject:obj];//代表obj在数组中的位置是i
}//但是不知道这是当前第几个
int i = [array indeaOfObject:obj];//代表obj在数组中的位置是i
8>、遍历数组
[array enumrateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)];
// 每遍历到一个元素,就会调用一次block
//并且当前元素和索引位置当前参数传block
------ IOS培训、android培训、期待与您交流!-------
0 0
- 黑马程序员_OC之Foundation框架
- 黑马程序员_OC学习之Foundation框架1
- 黑马程序员_OC学习之Foundation框架2
- 黑马程序员_OC中的Foundation框架学习
- 黑马程序员_OC Foundation框架简介
- 黑马程序员_OC Foundation框架重要结构体和类
- 黑马程序员_OC语言的Foundation 上
- 黑马程序员_OC语言的Foundation 下
- 黑马程序猿_OC之Foundation简括
- 黑马程序员------[Foundation]Foundation框架
- 黑马程序员--OC之Foundation框架
- 黑马程序员_iOS开发之Foundation框架
- 黑马程序员-Foundation框架之NSString
- 黑马程序员-Foundation框架之NSArray类
- 黑马程序员-----Foundation框架学习之NSString
- 黑马程序员-----Foundation框架学习之NSMutableString
- 黑马程序员—Foundation框架之NSString
- 黑马程序员-Foundation框架
- java IO(一):File、RandomAccessFile、字节流与字符流、字节字符转换流
- java 基础之IO流 字符流与装饰模式概述 --06
- stm32官方库 (只截取目录结构说明部分)
- Cocos2d-x使用iOS游戏内付费IAP(C++篇)
- java实现的堆排序(java)
- 黑马程序员_OC之Foundation框架
- 常用SQL查询:
- qt在linux与ok6410上的安装移植(1)——库和编译器安装
- 黑马程序员_并发库的应用
- [移动] Mosquitto简要教程(安装/使用/测试)
- 30分钟正则表达式指导
- 关于生成订单号的解决方案PHP
- JAVA的执行过程
- Oracle 数据分析师