📝 Objective-C教程

38篇技术文档
  Objective-C字符串

📅  最后修改于: 2020-11-03 15:56:38        🧑  作者: Mango

使用NSString表示Objective-C编程语言中的字符串,其子类NSMutableString提供了几种创建字符串对象的方法。创建字符串对象的最简单方法是使用Objective-C @“ …”构造-下面显示了一个创建和打印字符串的简单示例。现场演示当上面的代码被编译和执行时,产生的结果如下:Objective-C支持多种用于处理字符串的方法-Sr.No.Method & Purpose1–...

  Objective-C结构

📅  最后修改于: 2020-11-03 15:57:20        🧑  作者: Mango

使用Objective-C数组可以定义变量的类型,这些变量可以容纳相同种类的多个数据项,但是结构是Objective-C编程中可用的另一种用户定义的数据类型,它允许您组合不同种类的数据项。结构用于表示记录,假设您想跟踪图书馆中的书籍。您可能需要跟踪每本书的以下属性-标题作者学科书号定义结构要定义结构,必须使用struct语句。 struct语句定义了一种新的数据类型,该程序具有多个成员。 stru...

  Objective-C预处理器

📅  最后修改于: 2020-11-03 15:58:04        🧑  作者: Mango

Objective-C预处理程序不是编译器的一部分,而是编译过程中的一个单独步骤。用简单的术语来说,Objective-C预处理器只是一个文本替换工具,它指示编译器在实际编译之前进行所需的预处理。我们将Objective-C预处理器称为OCPP。所有预处理器命令均以井号(#)开头。它必须是第一个非空白字符,并且为了便于阅读,预处理器指令应在第一列中开始。以下部分列出了所有重要的预处理器指令-Sr....

  Objective-C Typedef

📅  最后修改于: 2020-11-03 15:58:25        🧑  作者: Mango

Objective-C编程语言提供了一个名为typedef的关键字,您可以使用该关键字为类型指定新名称。以下是为一字节数字定义术语BYTE的示例-在此类型定义之后,标识符BYTE可以用作unsigned char类型的缩写,例如:。按照惯例,这些定义使用大写字母来提醒用户类型名称实际上是符号缩写,但是您可以使用小写字母,如下所示:您也可以使用typedef为用户定义的数据类型命名。例如,您可以将t...

  Objective-C类型转换

📅  最后修改于: 2020-11-03 15:58:49        🧑  作者: Mango

类型转换是一种将变量从一种数据类型转换为另一种数据类型的方法。例如,如果要将长值存储为简单整数,则可以将强制类型转换为整数。您可以使用强制转换运算符将值从一种类型显式转换为另一种类型,如下所示:在Objective-C中,我们通常使用CGFloat进行浮点运算,这是从float的基本类型派生的(如果是32位,则是double的),如果是64位,则是double的。考虑以下示例,其中强制转换运算符导...

  Objective-C日志处理

📅  最后修改于: 2020-11-03 15:59:06        🧑  作者: Mango

NSLog方法为了打印日志,我们在Hello World示例中使用了Objective-C编程语言中的NSLog方法。让我们看一个简单的代码,该代码将显示“ Hello World”字样-现场演示现在,当我们编译并运行程序时,我们将得到以下结果。在实时应用中禁用日志由于我们在应用程序中使用了NSLogs,因此它将被打印在设备的日志中,并且在实时构建中打印日志不是很好。因此,我们使用类型定义来打印日...

  Objective-C错误处理

📅  最后修改于: 2020-11-03 15:59:26        🧑  作者: Mango

在Objective-C编程中,Foundation框架中提供的NSError类提供了错误处理。与仅使用错误代码或错误字符串可能实现的方式相比,NSError对象封装了更丰富,更可扩展的错误信息。 NSError对象的核心属性是错误域(由字符串表示),特定于域的错误代码和包含应用程序特定信息的用户信息字典。NSErrorObjective-C程序使用NSError对象传达有关运行时错误的信息,需要...

  命令行参数

📅  最后修改于: 2020-11-03 15:59:47        🧑  作者: Mango

执行它们时,可以将某些值从命令行传递给Objective-C程序。这些值称为命令行参数,在很多情况下它们对于您的程序很重要,尤其是当您要从外部控制程序而不是在代码内部硬编码这些值时。命令行参数使用main()函数参数进行处理,其中argc表示传递的参数数量,而argv []是指针数组,它指向传递给程序的每个参数。以下是一个简单的示例,该示例检查命令行是否提供了任何参数,并采取相应的措施-现场演示当...

  Objective-C类和对象

📅  最后修改于: 2020-11-03 16:00:16        🧑  作者: Mango

Objective-C编程语言的主要目的是向C编程语言添加面向对象的类,这些类是Objective-C的主要功能,它们支持面向对象的编程,通常被称为用户定义类型。一个类用于指定对象的形式,它结合了数据表示形式和用于将该数据处理到一个整齐的包中的方法。类中的数据和方法称为该类的成员。Objective-C特性该类在两个不同的部分定义,即@interface和@implementation。几乎所有事...

  Objective-C继承

📅  最后修改于: 2020-11-03 16:00:38        🧑  作者: Mango

面向对象编程中最重要的概念之一就是继承。继承允许我们用另一个类来定义一个类,这使得创建和维护应用程序变得更加容易。这也提供了重用代码功能和快速实现时间的机会。创建类时,程序员可以指定新类应继承现有类的成员,而不必编写全新的数据成员和成员函数。此现有类称为基类,而新类称为派生类。继承的概念实现了一种关系。例如,哺乳动物IS-A动物,狗IS-A哺乳动物,以及狗IS-A动物等等。基础和派生类Object...

  Objective-C多态

📅  最后修改于: 2020-11-03 16:00:56        🧑  作者: Mango

多态性一词意味着具有多种形式。通常,当存在类的层次结构并且它们通过继承关联时,就会发生多态。Objective-C多态性意味着对成员函数的调用将导致执行不同的函数,具体取决于调用该函数的对象的类型。考虑这个例子,我们有一个Shape类,它为所有形状提供了基本的接口。 Square和Rectangle从基类Shape派生。我们有一种方法printArea,它将展示有关OOP特征多态性的信息。现场演示...

  Objective-C数据封装

📅  最后修改于: 2020-11-03 16:01:19        🧑  作者: Mango

所有Objective-C程序均由以下两个基本元素组成-程序语句(代码)-这是执行动作的程序的一部分,它们称为方法。程序数据-数据是受程序功能影响的程序信息。封装是一种面向对象的编程概念,它将数据与操纵数据的功能绑定在一起,并确保不受外界干扰和滥用。数据封装导致了重要的OOP概念:数据隐藏。数据封装是将数据和使用它们的功能捆绑在一起的机制,而数据抽象是仅公开接口并向用户隐藏实现细节的机制。通过创建...

  Objective-C类别

📅  最后修改于: 2020-11-03 16:01:39        🧑  作者: Mango

有时,您可能会发现您希望通过添加仅在某些情况下有用的行为来扩展现有的类。为了将此类扩展添加到现有类中,Objective-C提供了类别和扩展。如果您需要在现有类中添加方法,或者添加功能以使其更轻松地在自己的应用程序中执行某些操作,则最简单的方法是使用类别。声明类别的语法使用@interface关键字,就像标准的Objective-C类描述一样,但不表示从子类继承任何继承。相反,它在括号中指定类别的...

  Objective-C的姿势

📅  最后修改于: 2020-11-03 16:01:56        🧑  作者: Mango

在Objective-C开始约造像之前,我想提请你注意,冒充是在Mac OS X 10.5宣布弃用,这之后是不能使用的。因此,对于那些不关心这些不建议使用的方法的人可以跳过本章。Objective-C允许一个类完全替换程序中的另一个类。替换类被称为“摆在”目标类。对于支持pose的版本,所有发送给目标类的消息都由pose类接收。NSObject包含poseAsClass-方法,使我们能够如上所述替...

  Objective-C扩展

📅  最后修改于: 2020-11-03 16:02:16        🧑  作者: Mango

类扩展与类别具有某些相似性,但是只能将其添加到您在编译时拥有源代码的类中(该类与该类扩展同时进行编译)。由类扩展声明的方法是在原始类的实现块中实现的,因此,例如,您不能在框架类上声明类扩展,例如Cocoa或NSString之类的Cocoa Touch类。扩展名实际上是没有类别名称的类别。它通常被称为匿名类别。声明扩展的语法使用@interface关键字,就像标准的Objective-C类描述一样,...