OC学习记录1:类方法与实例方法
来源:互联网 发布:软件危机的例子 编辑:程序博客网 时间:2024/06/06 09:55
NSDate *now =[NSDate date];
NSDate为一个类,data是其中的一个类方法,这里将now变量指向了NSDate这个类。[]中第一个是接收方,后一个是选择器。接受方用于接受选择器中的方法,选择器选择方法。
double seconds = [now timeIntervalSinceNow];
这里seconds定义为double型变量,now作为指向NSDate的实例,可以接收选择器中传入的实例方法。
timeIntervalSinceNow
返回距离Since后面的时间的时间,Now可以替换成具时间,例如1970。
NSDate *later = [now dateByAddingTimeInterval:100000];
这里dateByAddingTimeInterval的实例方法后面带了一个实参,实参用冒号与实例方法相连。此方法返回现实x秒后的时间。
unsigned long day = [cal ordinalityOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:now];
这里ordinalityOfUnit这个实例方法可以带有三个实参,第一个实参传递NSDayCalendarUnit,第二个实参传递NSMonthCalendarUnit,第三个实参传递指向NSDate类的变量now。简单说就是第一个实参打开日历,第二个实参找到当前月份,第三实参找到天数。但注意这里仍然是一个消息所以接受的还是一个方法。
消息的嵌套发送
前面提到的double seconds =[now timeIntervalSinceNow];语句,在编写代码时是先编写NSDate *now = [NSDate date];语句再使用now作为接收器。使用嵌套方法可以使得程序看起来更加简洁易懂,嵌套的语句为:
double seconds =[ [NSDate date] timeIntervalSinceNow];
系统会按照从内到外的顺序执行嵌套消息,但是嵌套消息有时候会给debug带来麻烦,所以使用的时候要思路清晰。
NSDate *now =[[NSDate alloc] init];
这行语句中有两个必须以嵌套形式发送的消息:alloc和init。总体上这行语句的功能和语句NSDate *now =[NSDate date];一致,alloc的作用是创建一个新的对象,返回指向该对象指针的指针。但是通过alloc所创建的对象必须初始化才能够使用。init的作用就是初始化alloc所创建的对象。对比上面的语句我们可以知道这种方法较为麻烦,上面那一种语句称为便利语句。
nil
在oc中允许向nil指针发送消息,但是没有任何意义,返回值同样。
id delegate
在不知道所声明对象的类的时候可以使用id,id类型可以指向任意oc对象的指针。id后面不需要加*号,默认隐含。
- OC学习记录1:类方法与实例方法
- OC中的类方法与实例方法
- OC中的类方法与实例方法
- iOS-OC中的静态方法(类方法)与实例方法
- 黑马程序员—OC学习笔记—类方法与实例方法解析
- OC语言学习02-构造方法与类方法
- OC-初始化、实例方法、类方法、工厂方法
- OC-类 与 方法 小结
- OC学习日记Day4:创建对象,消息发送,类方法和实例方法
- OC中类方法的使用实例
- OC中的类方法与成员方法
- swift 学习记录(实例方法)
- 类方法与实例方法
- 类方法与实例方法
- iphone--js与oc通信记录几个实用方法
- OC语言 实例方法与类方法 & setter与getter & 便利初始化函数与便利构造器 & 属性(一)
- OC语言 实例方法与类方法 & setter与getter & 便利初始化函数与便利构造器 & 属性(二)
- oc基础:区分类方法和实例方法
- LeetCode No.15 3Sum
- FFT快速傅里叶变换-递归版-带注释模板
- eclipse中安装properties插件(国际化使用)
- K-diff Pairs in an Array
- 从JobSchedulerService开始探究学习安卓framework层
- OC学习记录1:类方法与实例方法
- 庖丁解牛<c++primer>系列二:const关键字
- 20170305-java
- Mac在Finder直接打开iterm2并且定位到当前目录 ---------类似于git bash here
- Codeforces Round #210 (Div. 1) B. Levko and Array(dp 思维)
- 有关程序员的十个预言
- caffe学习笔记23-GoogLeNet论文笔记
- java保留2位小数的五种方法总结
- JavaScript中的闭包