开发手册 欢迎您!
软件开发者资料库

iOS - 目标C

iOS Objective C - 在iOS上学习iPhone和iPad应用程序开发,从简单和简单的步骤开始,从基本到高级概念,包括入门,环境设置,Objective-C,首个iPhone应用程序,操作和插座,代表,UI元素,加速度计,通用应用程序,相机管理,位置处理,SQLite数据库,发送电子邮件,音频和视频,文件处理,访问地图,应用程序内购买,iAd集成,GameKit,故事板,自动布局,Twitter和Facebook,内存管理,应用程序调试。

iOS开发中使用的语言是客观的C.它是一种面向对象的语言,因此对于那些具有面向对象编程语言背景知识的人来说很容易.

接口和实现

在Objective C中,完成类声明的文件称为接口文件,并且调用定义类的文件实施文件.

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

@interface MyClass:NSObject {    // class variable declared here}// class properties declared here// class methods and instance methods declared here@end


实现文件 MyClass.m 如下 :

@implementation MyClass   // class methods defined here@end


对象创建

对象创建完成如下 :

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


方法

方法在目标C中声明如下 :

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


示例如下所示.

-(void)calculateAreaForRectangleWithLength:(CGfloat)length andBreadth:(CGfloat)breadth;


您可能想知道 andBreadth 字符串的用途;实际上它是一个可选字符串,它可以帮助我们轻松阅读和理解该方法,尤其是在调用时.要在同一个类中调用此方法,我们使用以下语句 :

  [self calculateAreaForRectangleWithLength:30 andBreadth:20];


如上所述,使用andBreadth帮助我们理解广度为20. Self用于指定它是类方法.

类方法

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

  +(void)simpleClassMethod;


可以使用类名(让我们假设类名为MyClass)来访问它,如下所示 :

  [MyClass simpleClassMethod];


实例方法

只有在为类创建对象后才能访问实例方法.内存分配给实例变量.示例实例方法如下所示.

   - (void)simpleInstanceMethod;


可以在为类创建对象后访问它,如下所示;

  MyClass * objectName = [[MyClass alloc] init];  [objectName simpleInstanceMethod];


目标C中的重要数据类型

Sr.No.数据类型
1

NSString

它用于表示字符串.

2

CGfloat

它用于表示浮点值(也允许正常浮点数)但最好使用CGfloat).

3

NSInteger

它用于表示整数.

4

BOOL

用于表示布尔值(YES或NO是允许的BOOL类型).

打印日志

NSLog  - 用于打印语句.它将分别以发布和调试模式打印在设备日志和调试控制台中.例如,

  NSlog(@"");


控制结构

大多数控制结构与C和C ++相同,只是增加了一些in语句.

属性

对于访问该类的外部类,使用变量属性.例如,

  @property(nonatomic,strong)NSString * myString;


访问属性

您可以使用点运算符来访问属性.要访问上述属性,我们将执行以下操作:

  self.myString = @" Test" ;;


你也可以使用set方法如下 :

  [self setMyString:@" Test"];


类别

类别用于向现有类添加方法.通过这种方式,我们可以向我们甚至没有定义实际类的实现文件的类添加方法.我们班级的样本类别如下:<

  @interface MyClass(customAdditions)  - (void)sampleCategoryMethod;  @end  @implementation MyClass(categoryAdditions)  - (void)sampleCategoryMethod { NSLog(@" Just a test category"); }


数组

NSMutableArray和NSArray是目标C中使用的数组类.作为名称表明,前者是可变的,而后者是不可改变的.示例如下所示.

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


字典

NSMutableDictionary和NSDictionary是目标C中使用的字典类.顾名思义,前者是可变的,后者是不可改变的.示例如下所示.

  NSMutableDictionary * aMutableDictionary = [[NSMutableArray alloc] init];  [aMutableDictionary setObject:@" firstobject" forKey:@"&的aKey QUOT;];  NSDictionary * aImmutableDictionary = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects: @" firstObject",nil] forKeys:[NSArray arrayWithObjects:@" aKey"]];