1.类的两种包装类: 将基本数据包装成对象:NSValue;NSNumber;

NSValue是NSNumber的父类,

NSValue用来封装一些基本数据, NSValue是一个通用的包装类,用来包装单个基本数据类型;

NSNumber是一个更具体的包装类,用于包装c语言的各种数值类型。(数值!)

其主要包括3个方法:

+(id)numberWithXxx:直接将特定类型的值包装成NSNumber;

-(id) initWithXxx:需要先创建一个NSNunmer对象,再使用该方法,用一个基本 数据值来初始化这个对象;

-(id)xxxValue:返回NSNumber的包装的基本类型的值。

#warming 实验1:使用NSNumber的三个方法。

2.处理类的对象:NSLog,description;

NSObject中提供了NSLog,description来处理类的对象;

NSLog打印的是对象 description的返回值;

description的作用:让对象进行自我描述。

ps:自带的description总是返回对象的 16进制首地址。

#warming 实验2:重写description方法;

“isEqual”和“==”: “==”表示比较的两者内存地址必须相同。

ps:NSString中,用常量池来管理直接字符串,常量池保证相同的字符串直接量只有一个。

NSString重写了isEqual方法,NSObject中二者没有区别(“isEqual”和“==”);

重写isEqual:方法可以提供自定义的相同标准;

重写isEqual需满足以下条件: 自反性;对称性;传递性;一致性;对任何不是nil的x,[x isEqual:nil]一定返回假。

#warming 实验3:重写isEqual方法,只要id相同就提示重复;

3.类别和扩展

(1)类别(category):扩展类,方便类的子类使用扩展后的方法;

注意:类别只能扩展类的方法,不能添加成员变量;也不能用@property合成属性。

添加类别的语法:

@interface 已有类(类别名)

@end

@implementation 已有类(类别名)

@end

使用类别的作用:

1.方便类的子类使用扩展后的方法;

2.可以使用类别将类的实现方法分模块化实现,分布到不同的实现文件中,提高项目后期的可维护性。

3.使用类别来调用私有方法。

(2)扩展:相当于匿名的类别,但是可以添加成员变量和用@property合成属性。

4.协议与委托

最新文章

  1. Node6.9.2 —— Http官网笔记整理
  2. 20151013 C# 第一篇 流程控制语句
  3. 【PRML读书笔记-Chapter1-Introduction】1.6 Information Theory
  4. UtilDev Web Server Pro
  5. iOS开发之如何修改Mac截屏保存路径
  6. Android Dialog使用举例
  7. light oj 1155 - Power Transmission【拆点网络流】
  8. 在Linux手动把文件转码的方法,防止乱码出现
  9. DBUtils的使用
  10. 如何在 iOS 真机运行 Appium
  11. 外网如何访问 Service?- 每天5分钟玩转 Docker 容器技术(139)
  12. 套接字输入缓冲装置——InternalInputBuffer
  13. java基础语法(二)--单列模式
  14. Google 的 QUIC 华丽转身成为下一代网络协议: HTTP/3.0
  15. alloc_page分配内存空间--Linux内存管理(十七)
  16. 轻量应用服务器安装 phpMyAdmin
  17. android 动画学习
  18. ACM笔记
  19. fortran学习网站
  20. system.Data.Entity.Infrastructure.DbUpdateConcurrencyException: Store update, insert, or delete statement affected an unexpected number of rows (0) 问题

热门文章

  1. HDOJ 1028 Ignatius and the Princess III(递推)
  2. jquery cycle pugin
  3. vSphere文档中心
  4. ASP.NET MVC 3 Model【通过一简单实例一步一步的介绍】
  5. SpringMVC整合fastjson-1.1.41
  6. 启动android默认浏览器
  7. linux crontab 定时命令
  8. Configuring Network Configuration-RHEL7
  9. 2015 UESTC Winter Training #6【Regionals 2010 >> North America - Rocky Mountain】
  10. 【转】[Algorithm]01分数规划