《Objective-C编程 第二版》笔记2:消息

1、传递实参的消息

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDate *now = [NSDate date];
        
        NSLog(@"This NSDate object lives at %p",now);
        
        NSLog(@"The date is %@",now);
        
        double seconds = [now timeIntervalSince1970];
        NSLog(@"It has been %f seconds since the start of 1970.",seconds);
        //这里调用了dateByAddingTimeInterval:方法,并传递了实参100000. 方法带实参的时候,冒号
        //是构成方法名的一个重要部分。
        NSDate *later = [now dateByAddingTimeInterval:100000];
        NSLog(@"In 100000 seconds it will be %@",later);
        
    }
    return 0;
}

2、多个参数

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDate *now = [NSDate date];
        
        NSLog(@"This NSDate object lives at %p",now);
        
        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 be %@",later);

        //该方法用来获取NSCalendar实例,NSCalendar常被用来获取小时,日期,周,月等信息。
        NSCalendar *cal = [NSCalendar currentCalendar];
        NSLog(@"My calendar is %@", [cal calendarIdentifier]);
        //该方法用来获取now是本月的第几天。传入三个参数。前两个是NSCalendar类的常量,描述我们希望
        //得到信息的类型。第三个是NSDate对象,表示要得到哪个对象的信息。
        unsigned long day = [cal ordinalityOfUnit:NSCalendarUnitDay         
                                           inUnit:NSCalendarUnitMonth 
                                          forDate:now];
        NSLog(@"This is day %lu of the month",day);
        
    }
    return 0;
}

3、alloc和init

alloc用来创建对象,init用来进行初始化实例。

例如: NSDate *now = [[NSDate alloc] init];

该种方式创建和发送date消息创建NSDate对象没有区别。

4、向nil发送消息

nil: 表示不指向任何对象的指针。

OC中可以向nil 发送消息,但是什么事情也不会发生。

5、id

id是一种类型,可以指向任意类型OC对象的指针。

如:id delegate;

id已经隐含了星号的作用。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值