//一: 迭代器

//数组

NSArray *arr=@[@"1",@"2",@"3",@"4",@"5"];

NSEnumerator *enumerator = [arr
objectEnumerator];

NSString *str =
nil;

while (str = [enumerator
nextObject]) {

NSLog(@"%@",str);

}

// 字典

//直接打印字典的vaule.

NSDictionary *dic =
@{@"1":@"2",@"3":@"4"};

NSEnumerator *enumrator = [dic
objectEnumerator];

NSString *vaule =
nil;

while (vaule = [enumrator
nextObject]) {

NSLog(@"%@",vaule);

}

//二: 值对象 (相互转化)

// 1: NSNumber

//
那基本数据类型转换成对象类型.

// Integer -> NSNumber

;

NSNumber *num = [[NSNumberalloc]
initWithInteger:a];

NSLog(@"%@",num);

// NSNumber -> Integer

//(1)

NSInteger b = [num
integerValue];

//(2)

NSNumber *number =
@10;

NSArray *arr =
@[@"1",@10];

// 2: NSValue

//
把结构体和指针转换成对象类型.

//
结构体的.
用于訪问自己的成员变量;不是对象调用自己属性的点语法.

//NSRange -> NSValue

,};

NSLog(@"%ld",range.length);

NSValue *value = [NSValuevalueWithRange:range];

NSArray *arr =
@[value];

// NSValue -> NSRange

NSRange rangeVau = [value
rangeValue];

//指针(pointer) -> NSValue

int a =
;

int *p =  &a;

NSValue *pointer = [NSValuevalueWithPointer:p];

//NSValue ->指针(pointer)

int *p1 = [pointer
pointerValue];


//三: NSSet  NSMutableSet -- 集合.

// NSSet是无序的.

NSSet *set = [NSSetsetWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"2",nil];

NSLog(@"%@",set);

NSLog(@"%ld",set.count);

NSLog(@"%@",[setanyObject]);

NSLog(@"%d",[setcontainsObject:@"3"]);

// 可变集合

NSMutableSet *set1 = [NSMutableSetset];

[set1addObject:@"9"];

[set1addObject:@"8"];

NSLog(@"%@",set1);

[set1removeObject:@"9"];

NSLog(@"%@",set1);

//
遍历

for (NSString *strin set1) {

NSLog(@"%@",str);

}


//四: NSDate

NSDate *date = [NSDatedate];

NSLog(@"%@",date);

// date
获取的时间不管哪个区,都是打印相相应的零时区

//
获取一下当前所在的时区.

NSTimeZone *zone = [NSTimeZonesystemTimeZone];

NSLog(@"%@",zone);

//
获取一下和零时区相差的秒数.

NSInteger sec = [zone
secondsFromGMTForDate:date];

NSLog(@"%ld",sec);

//
通过相差的秒数,能获取到如今的时间.

NSDate *newdate = [NSDatedateWithTimeIntervalSinceNow:sec];

NSLog(@"%@",newdate);

];

NSLog(@"%@",times);

//练习1:找明天这时候的时间.

NSDate *tomorrow = [NSDatedateWithTimeIntervalSinceNow:(sec
+ *)];

NSLog(@"明天的如今:%@",tomorrow);

//练习2: 昨天这时候时间.

*)sinceDate:newdate];

NSLog(@"昨天的如今:%@",yesterday);

//时间间隔

//
相应的Double 类型,
能够是小数.

//计算两个对象的时间间隔

NSTimeInterval interval = [tomorrow
timeIntervalSinceDate:yesterday];

NSLog(@"%g",interval);

//
练习3:计算当前时间与一个固定时间的差值.

];

NSLog(@"固定时间:%@",unchange);

NSLog(@"如今的时间%@",date);

NSTimeInterval inte = [unchange
timeIntervalSinceDate:date];

NSLog(@"时差为:%g",inte);

if (inte >
&& inte <) {

NSLog(@"刚刚");

}elseif( inte >=
&& inte <=){

);

}elseif(inte >
&& inte <=*){

);

}else{

/);

}

//五:日期和字符串的相互转换.

// NSDate -> NSString

// 第一种方式:

NSDate *date = [NSDatedate];

NSString *datestr = [NSStringstringWithFormat:@"%@",date];

NSLog(@"%@",datestr);

// 另外一种方式:

//时间的格式

// yyyy-MM-dd  HH-mm-ss;

// y

// M

// d

// H 24小时制, h 12小时制

// m

// s

//先设置一下时间的格式,要转换的时间要和格式相吻合.

NSDateFormatter *formatter = [[NSDateFormatteralloc]
init];

[formatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];

NSDate *date = [NSDatedate];

//
通过格式,那指定的时间直接转换成NSString

//
通过这样的方式,系统会把时间切换成当前时间,无时区之差.

NSString *strdate = [formatter
stringFromDate:date];

NSLog(@"%@",strdate);


// NSString -> NSDate

//把时间又减去8小时.

NSString *time =@"2015-7-23 17-19-50";

NSDateFormatter *formatter2 = [[NSDateFormatteralloc]
init];

[formatter2 setDateFormat:@"yyyy-MM-dd HH-mm-ss"];

NSDate *date = [formatter2
dateFromString:time];

NSLog(@"%@",date);


OC07 -- 迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转换.(杂)的更多相关文章

  1. 黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate

    Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数 ...

  2. OC NSNumber NSValue

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

  3. 数值类对象:NSNumber,NSValue,NSNull

    基本,集合,复杂,对象 可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中. 用对象封装基本数值后,即可给其发送消息. 数值类型包括:NSNumber,NSValue,N ...

  4. Foundation框架下的常用类(NSNumber, NSValue, NSDate,NSDateFormatter)

    1.NSNumber 将基础数类型数据转成对象数据(比如int  float double BOOL  long等等) //通过NSNumber将基础数类型数据转成对象数据. NSNumber * i ...

  5. iOS学习14之OC NSNumber + NSValue

    1.NSNumber 数值类. 作用:实现基本数据类型与OC对象类型的相互转化. 1> NSNumber创建对象 // 初始化方法 NSNumber *num1 = [[NSNumber all ...

  6. 转:用法总结:NSNumber、NSString、NSDate、NSCalendarDate、NSData(待续)

    NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (in ...

  7. NSNumber,NSValue和NSData

    我们在编码中,很多时候需要将C里面原生的数据封装成对象,这样可以用NSDictionary或者NSArray来存取访问.尤其是一些做适配的情况下,这种封装是不可避免的.Objective-C提供了不少 ...

  8. Object-c学习之路十(NSNumber&NSValue)

    // // main.m // NSNumberAndNSValue // // Created by WildCat on 13-7-26. // Copyright (c) 2013年 wildc ...

  9. IOS Note - Core NS Data Types

    NSString (Immutable)NSMutableString (rarely used)NSNumberNSValueNSData (bits)NSDateNSArray (Immutabl ...

随机推荐

  1. 路飞学城Python-Day4

    29.二进制转换计算机使用的语言就是二进制古时候,人们使用信鸽.书信.千里马等方式.但是这样的方式是不可靠的,时间也长.古时候的军方,通过烽火狼烟进行简单的信息交流 30.二进制的转换(II)8 4 ...

  2. scrapy框架学习

    一.初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, 网 ...

  3. 不实例化一个 class 的时候使用它的property

    class A: @property def name(self): " print(A.name) # <property object at 0x10d54cf98> cla ...

  4. 列表的初识,列表的索引切片,列表的增删改查,列表的嵌套,元组的初识,range

    1 内容总览 列表的初识 列表的索引切片 列表的增删改查 列表的嵌套 元组的初识(了解) 元组的简单应用(了解) range 2 具体内容 列表的初识 why: str: 存储少量的数据.切片出来全都 ...

  5. 状压DP复习

    深感自己姿势水平之蒻……一直都不是很会状压DP,NOIP又特别喜欢考,就来复习一发…… 题目来源 Orz sqzmz T1 [BZOJ4197][NOI2015]寿司晚宴 (做过)质因数分解最大的质因 ...

  6. mysql 基础函数语句

    1:查看当前登陆用户 select user(): 2:切换数据库 use mysql; 查看该表用户 select user,host from user; 4:退出数据库 5:查看数据库版本 se ...

  7. 洛谷——P1428 小鱼比可爱

    https://www.luogu.org/problem/show?pid=1428 题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度.参赛的鱼被从 ...

  8. POJ——T3259 Wormholes

    http://poj.org/problem?id=3259 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 50692   ...

  9. Qt之QDesktopServices

    简述 QDesktopServices类提供的函数用于访问常见的桌面服务. 许多桌面环境都会提供一系列服务,可以通过应用程序来执行常见任务,如:以用户应用程序首选项的方式,打开一个网页. 此类包含为服 ...

  10. Perfect Rectangle(完美矩形)

    我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域. 每个矩形用左下角的点和右上角的点的坐标来表示.例如, 一个单位正方形可以表示为 [1,1,2,2] ...