黑马程序员——foundation框架之NSNumber,NSDate,NSValue
来源:互联网 发布:origin有mac版吗 编辑:程序博客网 时间:2024/05/17 03:42
NSNumber * intNumber=[NSNumber numberWithInt:100];
NSNumber *floatNumber=[NSNUmber numberWithFloat:100.00];
int i=[intNumber intValue];
if([intNumber isEqualToNumber:floatNumber]) ....
<span style="font-size:14px;">#import <Foundation/Foundation.h>int main(){ // @20 将 20包装成一个NSNumber对像 NSArray *array = @[ @{@"name" : @"jack", @"age" : @20}, @{@"name" : @"rose", @"age" : @25}, @{@"name" : @"jim", @"age" : @27} ]; // 将各种基本数据类型包装成NSNumber对象 @10.5; @YES; @'A'; // NSNumber对象 @"A"; // NSString对象 // 将age变量包装成NSNumber对象 int age = 100; @(age); //[NSNumber numberWithInt:age]; NSNumber *n = [NSNumber numberWithDouble:10.5]; int d = [n doubleValue]; int a = 20; // @"20" NSString *str = [NSString stringWithFormat:@"%d", a]; NSLog(@"%d", [str intValue]); return 0;}void test(){ NSNumber *num = [NSNumber numberWithInt:10]; NSDictionary *dict = @{ @"name" : @"jack", @"age" : num }; NSNumber *num2 = dict[@"age"]; int a = [num2 intValue]; NSLog(@"%d" , a);}</span>
NSData
使用文件时,需要频繁地将数据读入一个临时存储区,它通常成为缓冲区。
NSData类提供了一种简单的方式,它用来设置缓冲区、将文件的内容读入缓冲区,或将缓冲区的内容写到一个文件。
对于32位应用程序,NSDATA缓存区最多可以存储2GB的数据。
我们既可定义不变缓冲区(NSData类),也可定义可变的缓冲区(NSMutableData类)。
下面代码展示了如何将文件的内容读入内存缓冲区,然后再将缓冲区的内容写入到另一个文件中。
<span style="font-size:14px;">NSData *fileData;NSFileManager *fileManager = [[NSFileManager alloc]init];fileData = [fileManager contentsAtPath:path]; [fileManager createFileAtPath:path2 contents:fileData attributes:nil]; //采用默认的属性值</span>
类型转换 NSData -> NSString:
NSString *strData = [[NSString alloc]initWithData:fileData encoding:NSASCIIStringEncoding];
类型转换 NSString -> NSData:
NSData *fileData2 = [strData dataUsingEncoding:NSUTF8StringEncoding];
然后接上MJ老师上课的代码
#import <Foundation/Foundation.h>int main(){ // 09/10/2011 NSString *time = @"2011/09/10 18:56"; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy/MM/dd HH:mm"; NSDate *date = [formatter dateFromString:time]; NSLog(@"%@", date); return 0;}void date2string(){ NSDate *date = [NSDate date]; // 日期格式化类 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // y 年 M 月 d 日 // m 分 s 秒 H (24)时 h(12)时 formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSString *str = [formatter stringFromDate:date]; NSLog(@"%@", str);}void use(){ // 创建一个时间对象 NSDate *date = [NSDate date]; // 打印出的时候是0时区的时间(北京-东8区) NSLog(@"%@", date); NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; // 从1970开始走过的秒数 NSTimeInterval seconds = [date2 timeIntervalSince1970]; // [date2 timeIntervalSinceNow];}
NSValue
首先要明白的是NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
并且我们在C/C++开发中常会用到结构体来帮助我们简单封装基本数据类型,在Objective-C中我们也可以使用结构体来完成数据类型的封装。同时,Cocoa Touch还提供了一个NSValue来帮助我们更好地在开发中使用结构体。
代码如下
#import <Foundation/Foundation.h>int main(){ // 结构体--->OC对象 CGPoint p = CGPointMake(10, 10); // 将结构体转为Value对象 NSValue *value = [NSValue valueWithPoint:p]; // 将value转为对应的结构体 // [value pointValue]; NSArray *array = @[value ]; // NSLog(@"这是哥修改过的东西6"); return 0;}至此所有的oc基础课程就已经基本看完了
还是要终结下自己在学习oc的过程中出现的各种问题,在接触oc之前还算有c语言的基础,但是对面向对象的基础一点也没有,因为之前自己一直不怎么喜欢java,所以就没学java导致现在在学习oc的过程中对面向对象的理解不够深刻,以至于很多简单的地方总是要理解很久才能够想通。oc的基础部分前前后后差不多学了一个多月的时间,比自己预计的时间要多一些,但是还好,自己感觉收获也挺多的,真心感谢MJ老师为我们认真的上课,以及论坛的小伙伴们,有什么问题都能够及时的帮助我,希望自己在接下来的日子能够更加深入的学习oc,也希望黑马程序员越办越好。
- 黑马程序员——foundation框架之NSNumber,NSDate,NSValue
- 黑马程序员——Foundation---NSSet,NSDictionary,NSNumber,NSDate,NSValue
- Foundation框架—NSNumber、NSValue、NSDate
- 黑马程序员——Foundation框架入门:NSNumber,NSValue和NSDate
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- 黑马程序员—Foundation框架之NSFileManager、NSNumber与NSDate
- 黑马程序员——Foundation学习之NSNumber\NSValue\NSNull\NSFileManager\NSDate\NSData
- 黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- Foundation框架—NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- 黑马程序员——Foundation学习—-----NSDate、NSValue、NSNumber使用
- 黑马程序员---Foundation常用类(NSNumber、NSValue、NSDate)
- OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 黑马程序员——Foundation框架NSNumber和NSValue的介绍和使用
- Foundation框架NSNumber、NSValue和NSDate
- 【黑马程序员】【Foundation框架】NSNumber、NSValue和NSData
- 黑马程序员_Foundation学习之NSSet、NSDictionary、NSNumber、NSValue、NSDate
- Objective-C: Foundation——NSString、NSMutableString、NSNumber、NSValue、NSDate
- 用不了google服务怎么办?番茄总结
- 黑马程序员——类集合之NSArray,NSSet,NSDictionary
- 初识java
- POJ2492(根的移动)
- FS269 魔晶坦克失利[第五更] _fs269魔晶坦
- 黑马程序员——foundation框架之NSNumber,NSDate,NSValue
- JSON.stringify 语法讲解
- Swift实践1 点击背景关闭键盘
- CSDN论坛问答质量提升计划
- 33_leetcode_Rotate Image
- iptables
- 34_leetcode_Jump Game
- dojo官网
- 35_leetcode_Maximum Subarray