OC:Foundation框架 1212
来源:互联网 发布:表格制作软件手机软件 编辑:程序博客网 时间:2024/05/06 15:25
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
0 0
- OC:Foundation框架 1212
- oc Foundation框架
- OC:Foundation框架
- OC:Foundation框架 补充
- OC中的Foundation框架
- OC--Foundation框架
- OC语言--Foundation框架
- OC-11-Foundation框架
- OC Foundation框架简介
- OC foundation框架
- OC+4-Foundation框架
- OC之Foundation框架NSSet
- OC的Foundation框架2
- OC的Foundation框架1
- 04-OC中的Foundation框架
- 黑马程序员 OC框架: Foundation
- OC-Foundation框架(1)
- OC--Foundation 框架(2)
- 算法笔记十一:二叉树之搜索二叉树
- OC:Foundation框架 补充
- 网络负载平衡流程
- NVIDIA Jetson TK1学习与开发(一):NVIDIA Jetson TK1介绍
- LeetCode OJ 之 Best Time to Buy and Sell Stock III (买卖股票的最佳时间 - 三)
- OC:Foundation框架 1212
- shell的输入和输出
- Cakephp_2.5:Component,Behavior,Helper
- NYOJ 216 A problem is easy【数学题】
- leetcode 之Unique Paths
- 滚动数组
- uva 11462 更快的基数排序
- OC中类的函数参数问题,以及方法与函数的区别。
- 好像很有道理的样子