iOS开发中使用的语言是 objective C。这是一种面向对象的语言,因此,对于那些具有面向对象编程语言背景的人来说,这很容易。
接口与实现
在 objective C中,完成类声明的文件称为接口文件,而定义了类的文件称为实现文件。
一个简单的接口文件 MyClass.h 如下所示-
@interface MyClass:NSObject { //此处声明的类变量 }//此处声明的类属性 //此处声明的类方法和实例方法 @end
实现文件 MyClass.m 如下-
@implementation MyClass //此处定义的类方法 @end
创建对象
对象创建完成如下-
MyClass *objectName=[[MyClass alloc]init] ;
方法在 objective C中声明如下-
-(returnType)methodName:(typeName) variable1 :(typeName)variable2;
一个如下所示。
-(void)calculateAreaForRectangleWithLength:(CGfloat)length andBreadth:(CGfloat)breadth;
您可能想知道 andBreadth 字符串的用途是什么;实际上,它是一个可选字符串,可以帮助无涯教程轻松地阅读和理解该方法,尤其是在调用时。要在同一类中调用此方法,无涯教程使用以下语句-
[self calculateAreaForRectangleWithLength:30 andBreadth:20];
如上所述,使用andBreadth可以帮助无涯教程理解breadth为20。Self用于指定它是一个类方法。
Class 方法
可以直接访问类方法,而无需为该类创建对象。它们没有任何变量和与之关联的对象。 一个如下所示。
+(void)simpleClassMethod;
可以通过使用类名来访问它(假设类名为MyClass),如下所示:
[MyClass simpleClassMethod];
实例方法
只有在为类创建对象之后,才能访问方法。内存分配给变量。方法如下所示。
-(void)simpleInstanceMethod;
在为类创建对象之后可以如下访问它:
MyClass *objectName = [[MyClass alloc]init] ; [objectName simpleInstanceMethod];
数据类型
| 产品编号。 | 数据类型 |
|---|---|
| 1 |
NSString 它用于表示字符串。 |
| 2 |
CGfloat 它用于表示浮点值(也可以使用普通浮点数,但最好使用CGfloat)。 |
| 3 |
NSInteger 用于表示整数。 |
| 4 |
BOOL 它用于表示布尔值(允许使用布尔型或布尔型)。 |
打印输出
NSLog-用于打印语句。它将分别以发布和调试模式打印在设备日志和调试控制台中。如,
NSlog(@"");
控制结构
大多数控制结构与C和C ++中的相同,除了in语句中的一些其他添加。
变量属性
为了让外部类访问该类,使用了变量属性。如,
@property(nonatomic , strong) NSString *myString;
访问属性
您可以使用点运算符来访问属性。要访问上述属性,无涯教程将执行以下操作。
self.myString=@"Test";
您还可以如下使用set方法-
[self setMyString:@"Test"];
Categories
Categories用于将方法添加到现有类,通过这种方式,无涯教程可以将方法添加到甚至没有定义实际类的实现文件的类中。无涯教程班的示例类别如下-
@interface MyClass(customAdditions) - (void)sampleCategoryMethod; @end@implementation MyClass(categoryAdditions)
-(void)sampleCategoryMethod { NSLog(@"Just a test category"); }
Arrays
NSMutableArray和NSArray是 objective C中使用的数组类。顾名思义,前者是可变的,后者是不可变的。一个例子如下所示。
NSMutableArray *aMutableArray = [[NSMutableArray alloc]init]; [anArray addObject:@"firstobject"]; NSArray *aImmutableArray = [[NSArray alloc] initWithObjects:@"firstObject",nil];
Dictionary
NSMutableDictionary和NSDictionary是 objective C中使用的字典类。顾名思义,前者是可变的,后者是不可变的。一个例子如下所示。
NSMutableDictionary *aMutableDictionary = [[NSMutableArray alloc]init]; [aMutableDictionary setObject:@"firstobject" forKey:@"aKey"]; NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects: @"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];