加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

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

发布时间:2023-03-27 11:20:23 所属栏目:教程 来源:
导读:下面的类不是包装类1)、NSInteger(64位相对于long)2)、NSUInteger(64位相对于unsigned long)3)、CGFLoat(64位相对于double, 32位相对于float)2、下面类是包装类1)、NSValueNSValue是NSNumber的父类2)、NSNumber一般方
下面的类不是包装类1)、NSInteger(64位相对于long)2)、NSUInteger(64位相对于unsigned long)3)、CGFLoat(64位相对于double, 32位相对于float)2、下面类是包装类1)、NSValueNSValue是NSNumber的父类2)、NSNumber一般方法+numberWith***:把指定类型包装成NSNumber-initWith*...

语音解读
图文解释
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
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章