objective_C基础.pdf

Objective-C是一种主要用于苹果iOS和Mac OS X平台的编程语言,它由C语言扩展而来,增加了Smalltalk风格的消息传递机制。Objective-C主要基于C语言,但加入了面向对象的特性,并且拥有动态类型特性。 1. Cocoa框架组成部分Objective-C应用的开发依赖于Cocoa框架,该框架包括三个主要部分: - Foundation框架:提供了大量面向对象的基础类,如用于字符串处理的NSString、用于数据集合的NSArray等。 - ApplicationKit框架(AppKit):包含了实现用户界面所需的各种类,如NSWindow、NSTextField等。这是构建图形用户界面的基础。 -支持框架套件:包括Core Animation、Core Image等,提供了丰富的工具库,用于处理动画、图像处理等高级功能。 2. NSLog与printf的区别NSLog是Objective-C中用于日志输出的函数,类似于C语言中的printf。不同的是,NSLog输出的字符串前需要添加@符号,这表明字符串是一个Cocoa中的NSString对象。在NSLog中使用%@格式说明符来输出对象的描述。 3. BOOL类型在Objective-C中,BOOL是一种数据类型,用来表示布尔值。它使用8位存储空间,YES被定义为1,而NO被定义为0。Objective-C中的BOOL不同于C语言,不允许将整型值直接赋值给BOOL,因为BOOL只取低八位的数据。 4.面向对象编程范例Objective-C支持面向对象编程(OOP),类的定义分为两部分:接口(@interface)和实现(@implementation)。 -接口部分声明了类的属性(如变量)和对外公开的方法。 -实现部分则是具体的方法定义和私有变量。 Objective-C中还有id类型的泛型对象指针,它指向任意类型的对象,可以调用对象的方法。 Objective-C的面向对象编程范例中,方法可以接受多个参数,参数名与方法名之间使用冒号分隔,形成中缀表达式的方法调用方式。 5.文件读取操作在Objective-C中读取文件时,可以使用C语言的标准文件操作函数如fopen、fgets等。需要注意的是,fgets会保留换行符,可能需要手动去除。程序通过命令行参数argc和argv接收输入的文件名,其中argv[0]通常是程序名,argv[1]是文件名。 6.动态类型特性Objective-C是一种动态类型语言,类的方法可以在运行时被添加、修改或替换。这种动态特性使得Objective-C编写的程序更加灵活,但同时对程序员的要求也更高,需要对动态机制有充分的理解。 Objective-C与iOS开发Objective-C是iOS开发中的重要语言之一,虽然随着Swift的推出,苹果公司鼓励开发者转向Swift,但因为Objective-C已有的庞大的代码库和成熟的应用,它仍然是iOS开发中不可忽视的语言。掌握Objective-C对于深入理解iOS开发和维护老项目都有极大的帮助。
pdf 文件大小:332.17KB