课程表

iOS课程

工具箱
速查手册

Objective-C 简介

当前位置:免费教程 » 移动开发 » iOS

在Swift未面试前,iOS的开发中使用的是Objective C语言,它是一种面向对象的语言,因而对于已经掌握面向对象语言知识的编程者来说是非常简单的。

本教程使用的示例代码是Objective C,如果你想学习Swift语言,请访问我们的Swift教程


接口和实现

在Objective里完成的文件被称为界面文件,该类文件的定义被称为实现文件。

一个简单的界面文件MyClass.h将如图所示:

  1. @interace MyClass:NSObject{
  2. // 类变量声明
  3. }
  4. // 类属性声明
  5. // 类方法和声明
  6. @end

执行MyClass.m文件,如下所示

  1. @implementation MyClass
  2. // 类方法定义
  3. @end

创建对象

完成创建对象,如下所示

  1. MyClass *objectName = [[MyClass alloc]init] ;

方法(methods)

Objective C中声明的方法如下所示:

  1. -(returnType)methodName:(typeName) variable1 :(typeName)variable2;

下面显示了一个示例:

  1. -(void)calculateAreaForRectangleWithLength:(CGfloat)length
  2. andBreadth:(CGfloat)breadth;
  3.  

你可能会想什么是andBreadth字符串,其实它的可选字符串可以帮助我们阅读和理解方法,尤其是当方法被调用的时候。

在同一类中调用此方法,我们使用下面的语句。

  1. [self calculateAreaForRectangleWithLength:30 andBreadth:20];

正如上文所说的andBreath使用有助于我们理解breath是20。Self用来指定它是一个类的方法。

类方法(class methods)

直接而无需创建的对象,可以访问类方法。他们没有任何变量和它关联的对象。示例如下:

  1. +(void)simpleClassMethod;

它可以通过使用类名(假设作为MyClass类名称)访问,如下所示:

  1. [MyClass simpleClassMethod];
实例方法

可以创建的类的对象后只访问实例方法,内存分配到的实例变量。实例方法如下所示:

  1. -(void)simpleInstanceMethod;

创建类的对象后,它可以访问它。如下所示:

  1. MyClass *objectName = [[MyClass alloc]init] ;
  2. [objectName simpleInstanceMethod];

Objective C的重要数据类型

序号 数据类型
1 NSString字符串
2 CGfloat 浮点值的基本类型
3 NSInteger 整型
4 BOOL 布尔型

打印日志

NSLog用于打印一份声明,它将打印在设备日志和调试版本的控制台和分别调试模式上。

如 NSlog(@"");


控制结构

除了几个增补的条款外,大多数的控制结构与C以及C++相同

属性(properties)

用于访问类的外部类的变量属性

比如:@property(非原子、强)NSString*myString

访问属性

可以使用点运算符访问属性,若要访问上一属性可以执行以下操作

  1. self.myString = @"Test";

还可以使用set的方法,如下所示:

  1. [self setMyString:@"Test"];

类别(categories)

类用于将方法添加到现有类。通过这种方法可以将方法添加到类,甚至不用执行文件,就可以在其中定义实际的类。MyClass的样本类别,如下所示:

  1. @interace MyClass(customAdditions)
  2. - (void)sampleCategoryMethod;
  3. @end
  4.  
  5. @implementation MyClass(categoryAdditions)
  6.  
  7. -(void)sampleCategoryMethod{
  8. NSLog(@"Just a test category");
  9. }

数组(arrays)

NSMutable和NSArray 是ObjectiveC中使用的数组类,前者是可变数组,后者是不可变数组。如下:

  1. NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
  2. [anArray addObject:@"firstobject"];
  3. NSArray *aImmutableArray = [[NSArray alloc]
  4. initWithObjects:@"firstObject",nil];

词典

NSMutableDictionary和NSDictionary是Objective中使用的字典,前者可变词典,后者不可变词典,如下所示:

  1. NSMutableDictionary*aMutableDictionary = [[NSMutableArray alloc]init];
  2. [aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];
  3. NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:
  4. @"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号