您的位置:首页 > 其它

基础理解部分

2015-08-20 00:03 218 查看

对象

对象可以包含一组函数,并且这些函数可以使用对象所保存的数据。向对象发送某个消息,可以触发相应的函数。这类由消息触发的函数称为方法。

负责描述某个特定的对象,其中包括方法和实例变量。对象需要实例变量来保存数据,要在堆上创建某类型的对象,就要使用该类型的类。通过某类创建的对象,称之为该类的实例。

基本用法

NSDate *now = [NSDate
date];

NSLog(@"The date is %@",now);
程序向NSDate类发送了date消息,NSDate类的date方法会创建一个NSDate的实例,将其初始化为当前的时间,然后返回新对象的起始地址。程序得到的地址保存在了now当中,now变量时指向NSDate对象的指针。
NSLog函数是与printf类似的功能,必须要加前缀@,转换说明要加%,可以自动换行,为了能以字符串形式输出日期,就要使用%@输出对象的信息。

消息详解

消息发送指令必须写在一对方括号中,包含两部分:1.指针,指向接收消息的对象。2.方法名,要触发的方法名。

double seconds = [now
timeIntervalSince1970];

NSLog(@"It has been %f seconds since the start of 1970.",seconds);

通过向对象发送timeIntervalSince1970来获取时间差。

NSDate *later = [now
dateByAddingTimeInterval:100000];

NSLog(@"In 100000 seconds it will %@",later);
使用dateByAddingTimeInterval方法,向之前创建的对象发送这个消息得到新的NSDate对象,需要传入实参知名延后的秒数。

代码实例

#import <Foundation/Foundation.h>

int main(int argc,
const char * argv[]) {

@autoreleasepool {

NSDate *now = [NSDate
date];

NSLog(@"The date is %@",now);

double seconds = [now
timeIntervalSince1970];

NSLog(@"It has been %f seconds since the start of 1970.",seconds);

NSDate *later = [now
dateByAddingTimeInterval:100000];

NSLog(@"In 100000 seconds it will %@",later);
}

return 0;
}
now是指针,指向接收消息的对象。dateByAddingTimeInterval是要触发的方法的方法名,也称为选择器。100000是传入的唯一实参。

id

声明指针时如果不知道对象的类型,可以使用id类型。id的含义是指针,并可以指向任何类型的oc对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: