走进Objective-C编程世界:基于书籍章节开启首个程序编写之旅
背景简介

本文依据书籍章节内容,目的是引领你踏入Objective-C编程的领域。Objective-C是用于苹果iOS和OS X应用程序开发的主要语言,对于想要进入苹果生态系统的开发者而言,掌握它极为关键。本章节会指导你完成首个Objective-C程序的编写,助力你领会面向对象编程的核心概念。
Objective-C语言概述
Objective-C语言是由Brad Cox和Tom Love在20世纪80年代初创造的,它以C语言为基础,还增添了对象和消息传递的特性。在Objective-C里,对象能够包含数据,也就是实例变量,以及操作这些数据的方法。和C语言的结构体相比较,Objective-C对象具备方法,这是两者的核心差异所在。
对象、类、实例和方法 实践操作
在本章实践里,你要创建一个名为TimeAfterTime的命令行工具项目,以此开启Objective-C编程之旅。该项目设置为Foundation框架,Objective-C代码文件后缀是.m。导入Foundation框架后,你就能访问NSDate类以及其他iOS和OS X应用的基础类。
通过编写简单的代码,你会创建NSDate类的实例,使用NSLog()函数输出NSDate对象的内存地址,输出当前日期时间信息,这不但能帮助你理解对象的创建,还能帮助你理解内存分配,并且能让你见识Objective-C的消息传递机制。
创建NSDate类的实例
在Objective-C里,创建类的实例要用到[NSDate date]消息,此消息被发送给NSDate类,使其创建并返回NSDate对象的一个实例,返回的对象是一个指针,它指向堆内存中的NSDate实例。
NSDate *now = [NSDate date];
NSLog输出,内容为“This NSDate object lives at %p”,其中%p处的值为now 。
使用NSLog()输出信息
NSLog()函数可将信息输出至控制台,这与C语言里的printf()函数相类似。不过,二者存在差异,NSLog()会在输出信息前自动添加上时间戳、程序名以及进程ID 。
将当前时间输出到日志中,日志内容为 “The date is %@” ,其中 %@ 处替换为当前时间的值
方法调用与消息传递
Objective-C里的方法调用其实是一种消息传递。消息由接收者构成,接收者可以是对象或类。消息还由选择器构成,选择器就是方法名。比如,[NSDate date]这条消息被发送给NSDate类,它的选择器是date 。
总结与启发
通过本章节学习,你已迈出Objective-C编程第一步。要记住,面向对象编程涉及的新概念需时间和实践去掌握。不要害怕犯错,因错误是学习过程一部分。通过不断编写代码、尝试新的概念,你会逐渐清晰理解这些模式。
通过本章的实践操作,你熟悉了Objective-C的语法,了解了如何在实际项目中使用NSDate类。持续深入学习,不断进行实践,你就能熟练运用Objective-C开展开发工作。