`

《iPhone与iPad开发实战--iOS经典应用剖析》-2.1 Objective-C概述

阅读更多
《iPhone与iPad开发实战--iOS经典应用剖析》第2章Objective-C语言基础,通过本章的学习,读者可以了解Objective-C基本语法,包括:数据类型、表达式,还有类、对象等概念。本节为Objective-C概述。
第2章  Objective-C语言基础
iOS的项目中主要采用Objective-C语言编写,因此在开始讲解具体项目之前,本章将介绍Objective-C语言基础。本章重点如下:
Objective-C与iOS开发
数据类型和表达式
类、对象和方法
继承与多态
分类与协议
内存管理
Foundation框架
2.1  Objective-C概述
Objective-C是一种面向对象的计算机语言,Brad J Cox 在20世纪80年代设计了Objective-C,该语言是基于SmallTalk-80。1988年NeXT发布了Objective-C,它的开发环 境和类库叫"NEXTSTEP",1994年NeXT与Sun发布了标准的NEXTSTEP系统,取名"OPENSTEP",软件自由基金会 OPENSTEP版本叫做GNUStep。
1996年苹果公司开始支持NeXT,把NEXTSTEP/OPENSTEP用于Mac OS X操作系统开发,它的版本和开发环境叫做Cocoa,使用Objective-C作为基础语言,开发工具是Xcode和Interface Builder。2007年苹果公司推出Objective-C 2.0,Objective-C是Mac OS X和iOS开发的基础语言。
2.1.1  Objective-C特点
Objective-C可以说是一种面向对象的C语言,与其他面向对象的语言有着明显的不同,它有自己鲜明的特色,下面介绍它的特点:兼容性、字符串、类、方法、属性、协议和分类。
1.兼容性
在Objective-C的代码中可以有C和C++语言,它可以调用C的函数,也可以通过C++对象访问方法。
2.字符串
Objective-C通常不使用C语言风格的字符串。大多数情况下是使用Foundation框架的NSString类型的字符串。 NSString类提供了字符串的类包装,支持Unicode、printf风格的格式化工具等。它是在普通的双引号字符串前放置一个@符号,如下面的例 子所示。
  1. NSString* myString = @"My String\n";  
  2. NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"]; 
3.类
定义类是Objective-C的基本能力。Objective-C的类声明和实现包括两个部分:接口部分和实现部分。
4.方法
定义方法也是Objective-C的基本能力。Objective-C中方法不是采用"."运算符,而是"[]"运算符。有时候方法调用也称为消息发送。
5.属性
属性是Objective-C 2.0提出的概念,它是替代对成员变量访问的"读取方法(getter)"和"设定方法(setter)"的手段。为了对类进行封装,一般情况下不直接访问成员变量,而是通过属性访问。
6.协议
Objective-C中的协议类似于Java中的接口或C++的纯虚类,只有接口部分定义没有实现部分,即只有h文件没有m文件。
7.分类
Objective-C中的分类是类似于继承机制的,通过分类能够扩展父类的功能。
2.1.2  Objective-C代码的文件扩展名
由于在Objective-C中可以编写多种形式的源文件,因此可以通过不同的文件扩展名来区分,表2-1所示为文件扩展名说明:
表2-1  文件扩展名说明表
文件扩展名
说    明
备    注
.c
C语言源程序文件
 
.cc或.cpp
C++语言源程序文件
 
.h
头文件
 
.m
Objective-C 源程序文件
代码包含有Objective-C和C的语句
.mm
Objective-C++源程序文件
代码包含有Objective-C和C++的语句
.o
编译之后的文件
 
0
7
分享到:
评论

相关推荐

    iPhone与iPad开发实战:iOS经典应用剖析pdf(附源码)

    《iPhone与iPad开发实战:iOS经典应用剖析》是一本深入探讨iOS应用开发的专业书籍,针对苹果公司的iPhone和iPad设备,提供了丰富的实践经验和详尽的技术解析。这本书不仅涵盖了基础的iOS编程概念,还深入剖析了多个...

    iPhone与iPad开发实战:iOS经典应用剖析

    本书《iPhone与iPad开发实战:iOS经典应用剖析》是一本专注于iOS平台开发的教程书籍。它详细地剖析了iOS项目开发的实战过程,并且在理论知识的教授上也有所涉猎,目的是帮助读者能够亲自动手开发iOS项目,并且在实战...

    iPhone与iPad开发实战—iOS经典应用剖析

    ### iPhone与iPad开发实战—iOS经典应用剖析 #### 课程概述 本课程旨在为有一定基础的学员提供深入的iPhone与iPad开发实战经验。通过一系列实际案例的学习,学员将能够掌握最新的iOS开发技术和方法论,包括iOS 5 ...

    iPhone与iPad开发实战——精通iOS开发2.rar

    《iPhone与iPad开发实战——精通iOS开发》是一本深度探讨苹果移动设备应用开发的专业书籍,主要针对iOS操作系统,包括iPhone和iPad平台。本书旨在帮助开发者深入理解iOS开发环境,掌握Objective-C或Swift编程语言,...

    iPhone与iPad开发实战(iPhone and iPad in Action )

    ### iPhone与iPad开发实战知识点概览 #### 一、Objective-C基础 - **语言特性**:Objective-C是一种面向对象的编程语言,它扩展了标准的C语言,为开发者提供了更强大的面向对象编程能力。 - **类与对象**:...

    关东升主讲-精通IOS开发[IPHONE与IPAD应用开发课程视频]【分辨率1024×768】

    《关东升主讲-精通IOS开发[IPHONE与IPAD应用开发课程视频]》是一部专为想要深入学习iOS开发的学员设计的高质量教程。该课程由知名讲师关东升亲自授课,旨在帮助学员掌握iOS应用程序开发的核心技能,无论是针对iPhone...

    IOS应用源码——twcrone-space-viking-ios-260046d.rar

    2. 框架选择:iOS应用通常基于Apple的Swift或Objective-C语言,使用UIKit或SwiftUI进行界面构建,利用SpriteKit或SceneKit进行游戏逻辑和动画处理。此外,可能还会涉及Core Data进行数据持久化,Game Center进行游戏...

    iPad应用开发指南

    ### iPad应用开发指南知识点概述 #### 一、iOS平台与iPad应用开发背景 - **iOS平台简介**:iOS是苹果公司为iPhone、iPad等移动设备设计的操作系统,它以其优秀的用户体验、安全性和稳定性著称。 - **iPad特性**:...

    iOS游戏应用源代码——jordim-InfiniteHorizontalScroll-iOS.zip

    标题中的“iOS游戏应用源代码——jordim-...通过分析和学习这个源代码,开发者不仅可以了解到如何实现无限水平滚动,还能进一步提升iOS应用开发的专业技能,包括UI设计、性能优化、游戏开发等多方面的实践知识。

    iPhone开发实战.pdf

    根据提供的文件信息,本文将对“iPhone开发实战”这一主题进行深入探讨,涵盖iPhone应用开发的基础概念、开发环境搭建、关键技术点以及实际案例分析等方面。 ### 一、iPhone开发概述 #### 1.1 iPhone应用开发简介 ...

    iPhone IOS 入门 开发 资料 pdf

    《iPhone IOS 入门 开发 资料 pdf》这套资料涵盖了iPhone iOS应用开发的基础知识,主要通过三本书籍——《Objective-C+2.0程序设计(第二版)》、《Programming in Objective-C 2.0》以及《iPhone开发基础教程》来引导...

    【Objective-C.Fundamentals】[PDF+源代码] [iPhone/iPad/iOS]

    《Objective-C 基础教程》是一本专为iPhone、iPad和iOS开发人员设计的教程,涵盖了Objective-C编程语言的基本概念和技术。Objective-C是Apple的iOS和macOS平台上的主要编程语言,它基于C语言并增加了面向对象的特性...

    ipad开发环境-ipad SDK

    Swift是苹果于2014年推出的现代编程语言,语法简洁,易于学习,而Objective-C则是早期的iOS开发语言,两者都支持Cocoa Touch框架,这是iOS应用开发的基础。 iPad SDK中的另一个重要组成部分是iOS模拟器,它允许...

    IOS应用源码——vonProteus-iPhone-OpenGL-Chess-8636ccc.rar

    标签"ios 源码"明确了这是一份与iOS相关的源代码,意味着我们可以从中学到iOS应用开发的方法,包括项目结构、文件组织、类的设计以及与系统API的交互等。 在压缩包内的文件"vonProteus-iPhone-OpenGL-Chess-8636ccc...

    IOS应用源码——一些iPhone开源项目代码iphone-tris.zip

    标题中的"iPhone开源项目代码iphone-tris.zip"指的是一个包含iOS应用源码的压缩包,这个项目可能是一个基于iPhone平台的游戏,因为“tris”通常与经典的井字游戏(Tic-Tac-Toe)相关。下面我们将详细探讨iOS应用开发...

Global site tag (gtag.js) - Google Analytics