IOS学习笔记之十一(包装类、description、isequal)

简介: IOS学习笔记之十一(包装类、description、isequal)

1、下面的类不是包装类

1)、NSInteger(64位相对于long)


2)、NSUInteger(64位相对于unsigned long


3)、CGFLoat(64位相对于double, 32位相对于float)


2、下面类是包装类

1)、NSValue


NSValue是NSNumber的父类


2)、NSNumber


一般方法


+numberWith***:把指定类型包装成NSNumber


-initWith***:先需要创建NSNumber对象,然后再用一个基本类型的值来初始化NSNumber.


-xxxValue:返回该NSNumnber对象包装的基本类型值


3、description方法

这个方法有点类似java里面的toString方法,需要重写,直接打印对象,会默认调用这个方法,这里和java有点类似,返回字符串格式如下


<类名[实例变量1=值1,类名[实例变量2=值2, …]>



4、==和equals

==比较基本类型,如果比较对象,就是比较对象的内存地址,地址相同才返回1


Equals方法一般需要重写,和java里面有点类似,我们一般用来比较字符串,因为NSString里面重写了这个方法,java里面的String也重写了这个方法,但是字符串常量池需要注意,如果指针指向字符串常量池,而且地址一样,我们用==比较会返回真,这里java和ios都一样,如下


NSString *s1 = @“hello”;

NSString *s2 = @“hello”;

S1==s2,这里返回1


5、简单测试demo

       NSNumber *num = [NSNumber numberWithInt:20];

       NSNumber *dou = [NSNumber numberWithDouble:4.5];

       NSNumber *ch = [[NSNumber alloc] initWithChar:'h'];

       NSLog(@"%d", [num intValue]);

       NSLog(@"%g", [dou doubleValue]);

       NSLog(@"%@", ch);

       NSLog(@"%c", [ch charValue]);

     

       MyApple *apple = [[MyApple alloc] initWithColor:@"red" weight:5.6];

       NSLog(@"%@", apple);

     

       NSString *s1 = [NSString stringWithFormat:@"chenyu"];

       NSString *s2 = [NSString stringWithFormat:@"chenyu"];

       NSLog(@"s1 == s2 is %d", s1 == s2);

       NSLog(@"s1 equals s2 %d", [s1 isEqual:s2]);

     

       NSString *s3 = @"hello";

       NSString *s4 = @"hello";

       NSLog(@"s3 == s4 is %d", s3 == s4);

       NSLog(@"s1 == s3 is %d", s1 == s3);


6、运行结果

20

4.5

104

h

<MyApple[color=red, weight=5.6]>

s1 == s2 is 1

s1 equals s2 1

s3 == s4 is 1

s1 == s3 is 0


相关文章
|
自然语言处理 开发工具 Swift
移动用户反馈-iOS接入指南 | 学习笔记
快速学习移动用户反馈-iOS接入指南
222 0
移动用户反馈-iOS接入指南 | 学习笔记
|
小程序 前端开发 Shell
接入 mPaaS 小程序并实现启动 iOS 版| 学习笔记
快速学习接入 mPaaS 小程序并实现启动 iOS 版。
566 0
接入 mPaaS 小程序并实现启动 iOS 版| 学习笔记
|
移动开发 小程序 前端开发
iOS 端自定义开发(二)| 学习笔记
快速学习 iOS 端自定义开发。
171 0
iOS 端自定义开发(二)| 学习笔记
|
移动开发 JSON 小程序
iOS 端自定义开发(一)| 学习笔记
快速学习 iOS 端自定义开发。
223 0
iOS 端自定义开发(一)| 学习笔记
|
小程序 IDE API
iOS 端预览和调试小程序| 学习笔记
快速学习 iOS 端预览和调试小程序。
208 0
iOS 端预览和调试小程序| 学习笔记
|
小程序 Shell 开发工具
接入 mpaas 小程序并实现启动 IOS 版|学习笔记
快速学习接入 mpaas 小程序并实现启动 IOS 版
189 0
接入 mpaas 小程序并实现启动 IOS 版|学习笔记
|
移动开发 人工智能 小程序
iOS 端自定义开发(二)|学习笔记
快速学习iOS 端自定义开发(二)
180 0
|
移动开发 JSON 小程序
iOS 端自定义开发(一)|学习笔记
快速学习iOS 端自定义开发(一)
141 0
iOS 端自定义开发(一)|学习笔记
|
小程序 IDE API
IOS 端预览和调试小程序|学习笔记
快速学习 IOS 端预览和调试小程序
122 0
IOS 端预览和调试小程序|学习笔记
|
API 开发工具 iOS开发
iOS 接入指南|学习笔记
快速学习 iOS 接入指南|
195 0
iOS 接入指南|学习笔记