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"]];