Objective-C入门-对象(初识消息)(1)

本文所有的内容都来自Objective-c第二版书籍,进一步阅读请戳:

Objective-C编程(第2版) (豆瓣)

 一、创建第一个Objective-C程序

 Objective-C代码的文件,一般都是以.m结尾

 二、#import和#include的区别

三、使用NSDate类,实现打印时间并计算当前时间距离1970年的秒数

NSDate类是属于Foundation框架中的。

#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);
    }
    return 0;
}

command+r:运行快捷键

运行结果如下:

  四、NSDate* now = [NSDate date];展开讲述

以上的代码称为消息发送,必须写在一对方括号中,并且必须包含接收方和选择器。

 

date方法执行后,NSDate类会在堆上给NSDate实例生命一部分内存,将NSDate实例初始化为当前日期/时间,然后返回新对象的地址。

NSLog()会先输出日期、时间、程序名称和进程ID。

%p:会输出对应对象的地址信息

%@:会输出相应对象的“描述信息”。

五、double seconds = [now timeIntervalSince1970]; 

为什么选择1970年?

因为OS X和iOS系统都是基于Unix开发的,而1970年正是“Unix时代”的开始。

六、Objective-c语言命名规范

OC语言是区分大小写的。

  • 指向实例的变量使用“驼峰拼写法”,以小写字母开头,其他每个单词第一个字母需要大写。例如:now,weightLifter
  • 方法的命名如同实例变量,例如:date,timeIntervalSince970
  • 类的名称以大写字母开头,接下来的单词继续使用驼峰拼写法,例如:NSDate,NSMutableArray

一般来说,类的名称是要加前缀的,这样可以避免相似的类名造成混乱。

通过前缀还可以知道它是属于哪个框架的,Foundation框架的类使用NS前缀,NS是NEXTSTEP的简写。

七、练习

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSHost* host = [NSHost currentHost];
        NSString* name = [host localizedName];
        NSLog(@"my computer name is %@", name);
    }
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值