iOS - 目标C

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&quot ;;


你也可以使用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:@&QUOT;&的aKey QUOT;]; 
 NSDictionary * aImmutableDictionary = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects:
 @" firstObject",nil] forKeys:[NSArray arrayWithObjects:@" aKey"]];