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

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF 基础控件之 GroupBox样式

其他基础控件1.Window2.Button3.CheckBox4.ComboBox5.DataGrid 6.DatePicker7.ExpanderGroupBox控件修改Style需要注意使用Grid分两行进行展示第0行显示Header第1行显示Content。Header&#xff1a;添加Border并边框BorderThickness"1" 内部新增 ContentPresenter 然…

软件测试的目的

测试的目的是什么呢&#xff1f;这是一个看起来很简单、不太值得讨论的问题&#xff0c;但往往这样的问题其实是很难回答的&#xff0c;比如人生的意义是什么&#xff1f;好&#xff0c;现在我们就来&#xff0c;列举一下我们经常听到的对这个问题的回答&#xff1a;“软件测试…

并联系统的失效率公式推导_供暖系统水力平衡率对室温的影响

摘要&#xff1a;热水供暖系统设计&#xff0c;为了保证室内能够达到设计温度&#xff0c;必须使流进散热器的热水流量与房间的热负荷相匹配&#xff0c;散热器才能散发足够热量以弥补由于建筑物围护结构散失的热量&#xff0c;保证室内温度。供暖系统设计只有通过正确的水力计…

面向对象——一起来复习托付与事件!

事件与托付事实上并不难理解。仅仅是由于它们的使用方式与经常使用的编码有非常大的区别&#xff0c;例如通常编写的都是同步代码&#xff0c;调用一个类型的方法&#xff0c;会即刻出现方法运行的结果。这是符合逻辑的。但在某些情况中&#xff0c;同步代码未必满足需求&#…

VS2008打包(含水晶报表)与安装注意事项

1、解决使用次数限制 修改下面两项注册值为1000: HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\Report Application Server\InprocServer\PrintJobLimit HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\Report Application Server\Server\PrintJobLimit 2、添…

为何Windows版QuickTime突然寿终正寝?

在QuickTime中两个零日漏洞被披露、且苹果公司突然停止支持该软件后&#xff0c;美国国土安全部和趋势科技公司发布安全公告建议用户卸载Windows版QuickTime。苹果公司随后宣布Windows版QuickTime寿终正寝。为什么苹果不修复这些漏洞&#xff0c;或者至少提前告知用户其结束Qui…

IOS学习笔记十二(类别和扩展)

1、类别(category)和扩展 类别:OC动态特征许使用类别添加新的方法&#xff0c;不需要创建子类 扩展&#xff1a;和类别相似&#xff0c;扩展相对于匿名类别 2、使用格式 类别&#xff1a;interface 已有类(类别名)…end implmentaion 已有类(类别名)…end 扩展&#xff1a;im…

Blazor University (7)组件 — 双向绑定

原文链接&#xff1a;https://blazor-university.com/components/two-way-binding/双向绑定源代码[1]注意&#xff1a; 如果您还没有这样做过&#xff0c;请在继续本节之前先执行单向绑定[2]中的步骤。到目前为止&#xff0c;我们有一个包含嵌入组件的页面&#xff0c;并且我们…

【iCore3 双核心板】例程二十二:LAN_UDP实验——以太网数据传输

实验指导书及代码包下载&#xff1a; http://pan.baidu.com/s/1kTPlJMJ iCore3 购买链接&#xff1a; https://item.taobao.com/item.htm?id524229438677 转载于:https://www.cnblogs.com/xiaomagee/p/5084291.html

想了好久 请多多指教

条件&#xff1a;假设A公司光纤入网&#xff0c;isp给的是静态ip,应该是公网ip吧然后搭建了DNS服务器和WEB服务器&#xff0c;&#xff08;当然自己建了个企业网站&#xff0c;备过案&#xff09;目的是在使全世界的客户都能访问到A公司的企业网站----------------------------…

喜欢的名言警句

有志者、事竟成&#xff0c;破釜沉舟&#xff0c;百二秦关终属楚&#xff1b; 苦心人、天不负&#xff0c;卧薪尝胆&#xff0c;三千越甲可吞吴。 1、If not now, when? If not me, who? ---马云 2、一个成功的创业者&#xff0c;三个因素&#xff1a;眼光、胸怀和实力。---…

tomcat出现5个using_当猫咪出现这5个迹象,主人就要给猫咪换猫粮了

养宠的朋友们你们知道吗&#xff1f;猫咪最好是要定期换粮&#xff0c;这样才有助于猫咪营养平衡&#xff0c;并且避免猫咪对单一食物感到厌烦哦&#xff01;但是应该多久给猫咪换一次粮呢&#xff1f;如果你家猫咪出现这5个迹象时&#xff0c;那就是提醒你需要更换猫粮了&…

C# Barrier类

对于同步&#xff0c;Barrier 类非常适用于其中工作有多个任务分支且以后又需要合并工作的情况。Barrier 类用于需要同步的参与者。激活一个任务时&#xff0c;就可以动态地添加其他参与者&#xff0c;例如&#xff0c;从父任务中创建子任务。参与者在继续之前&#xff0c;可以…

特斯拉宣布将在欧洲建设第二座超级工厂

北京时间11月9日早间消息&#xff0c;特斯拉CEO伊隆马斯克&#xff08;Elon Musk&#xff09;和首席技术官JB斯特罗贝尔&#xff08;JB Straubel&#xff09;本周在德国宣布了对德国工程集团Grohmann Engineering的收购。在随后的发布会上&#xff0c;马斯克强调&#xff0c;特…

IOS学习笔记十三(使用类别实现非正式协议)

1、协议 可以理解为java里面的接口 2、测试Demo NSObjectchenyu.h #ifndef NSObject_chenyu_h #define NSObject_chenyu_h #import <Foundation/Foundation.h>interface NSObject(chenyu) -(void)test; end#endif /* NSObject_chenyu_h */ Org.h #ifndef Org_h#defin…

c语言程序设计的顺序结构的常用控制语句,C语言程序设计教程-第03课-顺序结构的程序设计.ppt...

《C语言程序设计教程-第03课-顺序结构的程序设计.ppt》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《C语言程序设计教程-第03课-顺序结构的程序设计.ppt(21页珍藏版)》请在人人文库网上搜索。1、第3章 顺序结构的程序设计,3.1 顺序结构问题的提出 3.2 赋 值 语 句 3…

Android版哆啦A梦连连看游戏源码完整版

本代码主本人编写&#xff0c;没版权问题&#xff0c;另有其他少量小游戏和应用源码稍后会陆续上线!哆啦A梦连连看包括了2种游戏模式和60关卡&#xff0c;并可以通过修改配置文件很方便的实现自行增加新关卡。采用andengine游戏引擎开发&#xff0c;内置了趣米广告和用户统计fl…

javascript 高级程序设计_重读《JavaScript高级程序设计》

最近自己在休假&#xff0c;打算闭门几天将《JavaScript高级程序设计》(第3版)这本良心教材再回顾一遍。目前自己进入前端领域两年多&#xff0c;现在重读并记录下这本教材的“硬”知识点 。本文原文链接请戳 重读《JavaScript高级程序设计》​link.jianshu.com函数没有重载ECM…

[异常解决] ubuntu上安采用sudo启动的firefox,ibus输入法失效问题解决

采用sudo启动的应用是root权限的应用&#xff0c; ibus失效是因为ibus的初始配置采用user权限: 而root下运行的firefox输入法的配置还是停留在默认情况~ 解决方案是在shell下以root权限运行ibus&#xff0c;然后进行配置&#xff1a; 1、shell下输入&#xff1a;sudo ibus-setu…