------- android培训、java培训、期待与您交流! ----------
NSFileManager的使用
//NSFileManager是用来管理文件系统的
//NSFileManager用于判断
NSString *filePath = @"/Users/zhangwei/Desktop/arr.plist";
//1.判断文件是否存在
//创建文件管理单例对象
//调用defaultManager,创建一个文件管理的单例对象
//单例对象:在 程序运行期间,只有一个对象存在
NSFileManager *fm = [NSFileManager defaultManager];
BOOL isYES = [fm fileExistsAtPath:filePath ];
NSLog(@"%d",isYES);
//判断是否是一个目录
if (isYES) {
BOOL isDir;
[fm fileExistsAtPath:filePath isDirectory:&isDir];
if (isDir) {
NSLog(@"这是一个目录");
}else{
NSLog(@"这不是一个目录");
}
}
//判断文件是否可读
isYES = [fm isReadableFileAtPath:filePath];
NSLog(@"%d",isYES);
//是否可写
isYES = [fm isWritableFileAtPath:filePath];
NSLog(@"%d",isYES);
//是否可删除
isYES = [fm isDeletableFileAtPath:filePath];
NSLog(@"%d",isYES);
结构体的使用
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//CGPoint/NSPoint是CGPoint的一个别名
//用来表示二维平面的一个点
//包含两个成员 x(点的x方向)y(y方法)
CGPoint c1;
c1.x = 20;
c1.y = 30;
CGPoint c2 = {10,10};
CGPoint c3 = {.x = 10};
NSPoint np1;
np1.x = 10;
np1.y = 100;
//oc中特有的赋值方式
CGPoint c4 =CGPointMake(10, 10);
NSPoint np2 = NSMakePoint(5, 10);
//CGSize和NSSize
//用来表示平面的面积(大小)
//width(宽) height(高)
CGSize s1 ;
s1.width = 200;
s1.height = 200;
//oc中特有的方式
CGSize s2 = CGSizeMake(100, 100);
NSSize ns2 = NSMakeSize(100, 50);
//CGRect和NSRect
//表示在平面上左上角某个点的矩形区域
//origin表示矩形的左上角的点
//size 表示矩形的大小
CGRect r1;
r1.origin.x = 0;
r1.origin.y = 2;
r1.size.height = 200;
r1.size.width = 100;
CGRect r2 = {{0,2},{200,100}};
//oc特有
CGRect r3 = CGRectMake(1, 1, 1, 1);
NSRect ns3 = NSMakeRect(1, 1, 1, 1);
NSLog(@"%@",NSStringFromRect(ns3));
}
return 0;
}
NSNumber的使用
NSArry中只能存放OC对象,不能存放int/float/double等基本数据类,如果真想把基本数据放进数组或字典中,需要先将基本数据类型包装成OC对象
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
int a = 10;
float f1 = 3.24f;
double d1 = 2.34;
//numberWithInt 把int 转换为NSNumber
NSNumber *intobj = [NSNumber numberWithInt:a];
NSMutableArray *arr = [NSMutableArray arrayWithObjects:intobj, nil];
//float --->NSNumber
NSNumber *floatobj = [NSNumber numberWithFloat:f1];
[arr addObject:floatobj];
NSNumber *d1obj = [NSNumber numberWithDouble:d1];
[arr addObject:d1obj];
NSLog(@"%@",arr);
//数组的元素相加
//取出数组的元素
//把数组元素转换为基本数据类型的数据
NSNumber *n1 = arr[0];
a =[n1 intValue];
NSNumber *n2 = arr[1];
float f2 = [n2 floatValue];
NSLog(@"%.2f",a + f2);
}
return 0;
}
NSValue的使用
NSNumber是NSValue的子类,NSValue主要用来把指针,CGRect结构体等包装成OC对象,以便存储。
typedef struct{
int year;
int month;
int day;
} MyDate;
int main(int argc, const char * argv[]) {
@autoreleasepool {
//保存年月日
MyDate md = {2015,5,7};
//@encode(MyDate)作用,把MyDate类型生成一个常量字符串描述
NSValue *val = [NSValue valueWithBytes:&md objCType:@encode(MyDate)];
//定义一个数组,把val存到数组中
NSMutableArray *arr = [NSMutableArray arrayWithObject:val];
NSLog(@"%@",arr);
//从数组中取出来NSValue对象
//从对象 中,取出结构体变量的值
MyDate tmd;
//获取结构体,,保存到结构体变量tmd
[val getValue:&tmd];
NSLog(@"%d,%d,%d",tmd.year,tmd.month,tmd.day);
}
return 0;
}
NSDate 的使用
NSDate是oc中提供日期时间处理的一个类
1)获取当前的时间
NSDate *d1 = [NSDate date];//创建一个时期时间对象
2)格式化显示时间
3)计算时间
4)日期时间对象的使用
#import <Foundation/Foundation.h>
void test (){
NSDate *d1 = [NSDate date];
//0时区时间,北京 东8区
//当前时间+8小时,得到的
NSLog(@"%@",d1);
//格式化日期
NSDateFormatter *formatter = [NSDateFormatter new];
//设置日期的显示格式
//yyyy表示四位的年份
//MM 表示2位的月份
//dd 表示2位的天数
//HH 表示24小时制 hh 12小时制
//mm 表示2位的分钟数
//ss 表示2位的秒数
formatter.dateFormat = @"yyyy年MM月dd日 hh:mm:ss";
//格式化日期
NSString *str = [formatter stringFromDate:d1];
NSLog(@"%@",str);
}
void test2 (){
NSDateFormatter *formatter = [NSDateFormatter new];
//设置日期的显示格式
//yyyy表示四位的年份
//MM 表示2位的月份
//dd 表示2位的天数
//HH 表示24小时制 hh 12小时制
//mm 表示2位的分钟数
//ss 表示2位的秒数
formatter.dateFormat = @"yyyy年MM月dd日 HH:mm:ss";
//计算明天的此刻
//距现在24小时以后
NSTimeInterval t = 60*60*24;
NSDate *tom = [NSDate dateWithTimeIntervalSinceNow:t];
//格式化显示时间
NSString *timeStr = [formatter stringFromDate:tom];
NSLog(@"%@",timeStr);
//计算昨天的时间 -t
NSDate *now = [NSDate date];
NSDate *zt = [now addTimeInterval:-t];
timeStr = [formatter stringFromDate:zt];
NSLog(@"%@",zt);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//日期对象
// NSCalendar 日期类,可以帮我们快速的获取年月日,时分秒
NSData *d = [NSDate date];
//创建日期的对象
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *coms = [cal components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:d];
NSLog(@"year:%ld,month:%ld,day:%ld,",coms.year,coms.month,coms.day);
}
return 0;
}