一 NSNumber

 //
// main.m
// 07-NSNumber
//
// Created by apple on 13-8-12.
// Copyright (c) 2013年 itcast. All rights reserved.
// #import <Foundation/Foundation.h> int main()
{
// @20 将 20包装成一个NSNumber对像 NSArray *array = @[ @{@"name" : @"jack", @"age" : @}, @{@"name" : @"rose", @"age" : @}, @{@"name" : @"jim", @"age" : @}
]; // 将各种基本数据类型包装成NSNumber对象
@10.5;
@YES;
@'A'; // NSNumber对象 @"A"; // NSString对象 // 将age变量包装成NSNumber对象
int age = ;
@(age);
//[NSNumber numberWithInt:age]; NSNumber *n = [NSNumber numberWithDouble:10.5]; int d = [n doubleValue]; int a = ; // @"20"
NSString *str = [NSString stringWithFormat:@"%d", a];
NSLog(@"%d", [str intValue]); return ;
} void test()
{
NSNumber *num = [NSNumber numberWithInt:]; NSDictionary *dict = @{
@"name" : @"jack", @"age" : num }; NSNumber *num2 = dict[@"age"]; int a = [num2 intValue]; NSLog(@"%d" , a);
}

二 NSValue

 #import <Foundation/Foundation.h>

 // NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue

 int main()
{ // 结构体--->OC对象 CGPoint p = CGPointMake(, );
// 将结构体转为Value对象
NSValue *value = [NSValue valueWithPoint:p]; // 将value转为对应的结构体
// [value pointValue]; NSArray *array = @[value ]; // insert code here...
// NSLog(@"这是哥修改过的东西6");
return ;
}

三 NSDate

 #import <Foundation/Foundation.h>
void date2string();
void use();
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);
date2string();
use();
return ;
} 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: sinceDate:date]; // 从1970开始走过的秒数
NSTimeInterval seconds = [date2 timeIntervalSince1970]; // [date2 timeIntervalSinceNow];
}

四、NSNumber、NSValue、NSData和NSDate课堂笔记

 #import <Foundation/Foundation.h>

 #import "People.h"

 typedef struct student
{
char name[];
NSInteger age;
}stu; int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
// NSLog(@"Hello, World!"); /*
0.炒鸡排序
1.NSNumber -对基本数据类型进行对象转换
2.NSValue -对结构体或自定义结构体转换
3.NSData -对字符串进行封装(二进制转换)
4.NSDate -日期
{
a.日期初始化
b.日期格式使用(NSDateFormatter)
c.时间间隔使用(NSTimeinterval)
d.验证快速遍历和for循环 }
*/ //NSNumber int number = ; int number1 = ;
//基本数据类型包装成对象
NSNumber *num = [[NSNumber alloc] initWithInt:number1]; NSArray *arr1 = @[num,@(number)];
NSLog(@"%@",arr1);
// NSLog(@"%d",num); // 把对象还原成基本数据类型
int newNumber1 = [[arr1 objectAtIndex:] intValue];
NSLog(@"%d",newNumber1); //NSValue
NSRange range = NSMakeRange(, );
//把结构体包装成对象
NSValue *rangeValue = [NSValue valueWithRange:range]; NSArray *arr2 = @[rangeValue]; NSLog(@"%lu %lu",range.location,range.length);
NSLog(@"%@",arr2); NSRange newRange;
//把对象还原成结构体
[rangeValue getValue:&newRange];
NSLog(@"%lu %lu",newRange.location,newRange.length); //封装自定义结构体
stu bowen;
bowen.age = ;
// 把自定义结构体封装成对象
NSValue *stuValue = [[NSValue alloc] initWithBytes:&bowen
objCType:@encode(stu)] ;
NSLog(@"%@",stuValue); stu newbowen;
// 把对象还原成结构体
[stuValue getValue:&newbowen];
NSLog(@"%ld",newbowen.age); //NSData
NSString *str = @"";
// 把字符串封装成Data对象
NSData *strData = [str dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",strData);
// 把Data还原成字符串
NSString *finalStr = [[NSString alloc] initWithData:strData encoding:NSUTF8StringEncoding];
NSLog(@"%@",finalStr); //NSDate
// 日期初始化
NSDate *now = [NSDate date];
NSLog(@"%@",now); NSDate *date1 =[NSDate dateWithTimeInterval:** sinceDate:now];
NSLog(@"%@",date1); NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:****];
NSLog(@"%@",date2); NSDate *date3 = [NSDate dateWithTimeIntervalSinceNow:**];
NSLog(@"%@",date3); NSDate *date4 = [NSDate dateWithTimeIntervalSinceReferenceDate:*];
NSLog(@"%@",date4); //日期格式NSDateFormatter
NSDate *date5 = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; /*
YYYY/yyyy 年
MM 月
dd 日 HH/hh 时
mm 分
ss 秒
*/
//日期转换成字符串
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateStr = [formatter stringFromDate:date5];
NSLog(@"%@",dateStr); //字符串转化成日期
NSString *newStr = @"2015-08-18 23-17-19";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *newDate = [dateformatter dateFromString:newStr];
NSLog(@"%@",newDate); //时间间隔 NSTimeinterval
NSDate *date6 = [NSDate date];
NSDate *date7 = [NSDate dateWithTimeIntervalSinceNow:];
NSTimeInterval timeinterval = [date6 timeIntervalSinceDate:date7]; NSLog(@"%f",timeinterval); //快速遍历
NSArray *arr10 =@[@"",@"",@"",@"",@"",@"",@"",@"",@"",@""];
NSDate *before = [NSDate date]; for (NSString *str10 in arr10) {
NSLog(@"%@",str10);
} NSDate *after =[NSDate date];
NSTimeInterval timeinterval1 = [after timeIntervalSinceDate:before]; NSLog(@"快速遍历:%f",timeinterval1); //普通循环
NSDate *before1 = [NSDate date]; for (int i=; i<arr10.count; i++) {
NSLog(@"%@",[arr10 objectAtIndex:i]);
} NSDate *after1 = [NSDate date];
NSTimeInterval timeinterval2 = [after1 timeIntervalSinceDate:before1]; NSLog(@"普通循环:%f",timeinterval2); }
return ;
}

OC NSNumber和NSValue和NSDate和NSData的更多相关文章

  1. NSNumber、NSValue、NSDate、NSObject

    注:OC中数组和字典只能存储OC对象不能存放基本数据类型. NSNumber NSNumber可以用来把一个基本数据类型包装成一个NSNumber类型的对象. NSNumber *number = [ ...

  2. 02-Foundation-NSMutableString、NSNumber、NSValue、NSDate、NSArray

    目录: 一.NSMutableString可变字符串 二.NSNumber数字对象 三.NSValue 四.NSDate日期对象 五.NSArray数组对象 回到顶部 一.NSMutableStrin ...

  3. OC中常见的结构体,以及NSNumber、NSValue、NSDate的使用

    常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef ...

  4. oc77--结构体,NSNumber,NSValue,NSDate,NSCalendar

    // // main.m // OC中的常用结构体 // #import <Foundation/Foundation.h> int main(int argc, const char * ...

  5. OC NSNumber NSValue

    OC NSNumber NSValue iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作. NSNumber包装类 普通初始化 NSNumber * num1 = ...

  6. iOS Foundation框架 -3.利用NSNumber和NSValue将非OC对象类型数据存放到集合

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

  7. NSNumber和NSValue

    在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...

  8. NSNumber 、 NSValue 、 日期处理 、 集合类 、 NSArray(一)

    1 基本数据类型的封装 1.1 问题 我们所学的所有基本数据类型,如int.float.double.char等,都不是对象,不能向它们发送消息.然而,在Foundation中的许多类,如NSArra ...

  9. NSNumber 与NSValue

    NSNumber与NSValue关系与作用 .由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们 ...

随机推荐

  1. SNMP学习笔记之SNMPv3报文认证和加密

    下面主要的内容就是SNMPv3的加密和认证过程! USM的定义为实现以下功能: 鉴别 数据加密 密钥管理 时钟同步化 避免延时和重播攻击 1.UsmSecurityParameters(安全参数) 安 ...

  2. 20145105 《Java程序设计》第9周学习总结

    20145105 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 一.JDBC入门 (一)JDBC简介 厂商在操作JDBC驱动程序时,依操作方式可将驱动程序分为 ...

  3. [BZOJ4391][Usaco2015 dec]High Card Low Card dp+set+贪心

    Description Bessie the cow is a huge fan of card games, which is quite surprising, given her lack of ...

  4. [Pytorch]Pytorch中图像的基本操作(TenCrop)

    转自:https://www.jianshu.com/p/73686691cf13 下面是几种常写的方式 第一种方式 normalize = transforms.Normalize([0.485, ...

  5. 04_kafka python客户端_Producer模拟

    使用的python库: kafka-python 安装方式: pip install kafka-python 简单的模拟Producer """ Kafka Produ ...

  6. asp.net <asp:Repeater>下的radio的单选使用

    aspx页面 <asp:Repeater ID="rptData" runat="server"> <ItemTemplate> < ...

  7. mui --- 怎么获取百度地图定位功能

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. BM25 调参调研

    1. 搜索 ES 计算文本相似度用的 BM25,参数默认,不适合电商场景,可调整 BM25 参数使其适用于电商短文本场景 2. k1.b.tf.L.tfScore 的关系如下图红框内所示(注:这里的 ...

  9. python 获取命令行输出结果

    status, output = commands.getstatusoutput("sudo rm -rf a.txt") if(not status): print(" ...

  10. An error occurred during installation: No such plugin: cloudbees-folder

    解决办法:下载cloudbees-folder.hpi放在目录/usr/local/tomcat/webapps/jenkins/WEB-INF/detached-plugins/下,重启tomcat ...