OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)
生活随笔
收集整理的這篇文章主要介紹了
OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
一、NSNumberOC數(shù)組類(lèi)NSArray,它只能存放 OC的對(duì)象,對(duì)于基本的數(shù)據(jù)類(lèi)型確無(wú)能為力,但是實(shí)際編程中經(jīng)常要把基本的數(shù)據(jù)如int、float,結(jié)構(gòu)體存放的OC數(shù)組中,怎么辦?這里的 NSNumber就有用了,它能夠把基本數(shù)據(jù)類(lèi)型包裝成OC對(duì)象。
// 將整形包裝成OC對(duì)象
NSNumber *num1 = [NSNumber numberWithInt:120];
// 將浮點(diǎn)形包裝成OC對(duì)象 NSNumber *num2 = [NSNumber numberWithDouble:0.5]; // 把包裝后的數(shù)據(jù)存放到OC數(shù)組中 NSArray *array = @[@"年齡",num1]; // 遍歷數(shù)組 for (id obj in array) { NSLog(@"%@", obj); }
通過(guò)NSNumber的方法能夠把所有基本數(shù)據(jù)類(lèi)型包裝成OC對(duì)象,再存放到OC數(shù)組中。要把NSNumber包裝后的對(duì)象還原成基本數(shù)// 將NSNumber類(lèi)型的對(duì)象還原成基本數(shù)據(jù)類(lèi)型 int age = [num1 intValue]; double a = [num2 doubleValue];
還可以 使用編譯器特性快速包裝一個(gè)基本數(shù)據(jù):
// 快速包裝 @120; @0.5; @NO; // 使用快速包裝,再存放到數(shù)組中 NSArray *array2 = @[@"hello",@100, @YES, @0.3, @'H'];
二、NSValue
?NSValue和NSNumber相似,具體來(lái)說(shuō)前者是后者的父類(lèi)。NSValue可以包裝復(fù)雜的基本數(shù)據(jù)類(lèi)型,如結(jié)構(gòu)體,枚舉。
int main()
{
// OC結(jié)構(gòu)體 CGPoint point = CGPointMake(11, 12); // 將結(jié)構(gòu)體包裝成OC對(duì)象 NSValue *val = [NSValue valueWithPoint:point]; // 將包裝后的OC對(duì)象存放到OC數(shù)組 NSArray *array = @[val]; NSLog(@"%@", array); return 0; } ? 三、NSDate ?這個(gè)類(lèi)是與時(shí)間相關(guān)的,日期的格式化。?
// 創(chuàng)建日期對(duì)象
NSDate *date = [NSDate date];
// 日期格式化類(lèi) NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // y 年 M 月 d 日 // m 分 s 秒 H (24)時(shí) h(12)時(shí) formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 固定寫(xiě)法,不能隨便寫(xiě) // 將日期格式化成字符串對(duì)象 NSString *str = [formatter stringFromDate:date]; NSLog(@"%@", str); // 格式化的參數(shù)都有固定含意,不能隨意寫(xiě)。上面是將日期格式化輸出,下面再來(lái)將字符串中的日期 // 指定日期為 NSString *time = @"2022/05/01 13:30"; // 創(chuàng)建日期格式化對(duì)象 NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init]; // 格式化日期 formatter2.dateFormat = @"yyyy/MM/dd HH:mm"; NSDate *date2 = [formatter2 dateFromString:time]; NSLog(@"%@", date2);
轉(zhuǎn)載于:https://www.cnblogs.com/yzjxdz/p/4853126.html
總結(jié)
以上是生活随笔為你收集整理的OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 小棕瓶多少钱啊?
- 下一篇: 2005年10元人民币F4Z737855