欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

快速入门Objective-C必备锦囊

发布时间:2016-06-15 23:33  回复:0  查看:2519   最后回复:2016-06-15 23:33  

Objective-C 是一种通用的,面向对象的编程语言。虽然苹果公司强势推出了Swift语言,但Objective-C 仍然是主流的iOS开发语言,尤其在国内。这里给大家介绍Objective-C编程语言的基础知识,帮助大家快速入门。

Interface 和 Implementation 在Objective-C中,定义类的文件叫Interface文件,类的实现文件叫Implementation文件。 一个简单的Interface文件MyClass.h看起来像下面这样: @interface MyClass:NSObject{ // class variable declared here } // class properties declared here // class methods and instance methods declared here @end 而相应的Implementation文件看起来像下面这样: @implementation MyClass // class methods defined here @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可以帮助我们理解andBreadth的值为20。self用来说明被调用的是一个类方法。

类方法 类方法可以直接调用,不需要先创建类的对象。它们没有任何变量和与之相关联的对象。例如: +(void)simpleClassMethod; 类方法的调用可以直接通过类名来调用,例如: [MyClass simpleClassMethod];

实例方法 实例方法仅在创建该类的对象之后才能被调用。实例变量会分配有内存。如下面一个实例方法: -(void)simpleInstanceMethod; 创建类的对象之后,可以像下面例子一样调用方法: MyClass  *objectName = [[MyClass alloc]init] ; [objectName simpleInstanceMethod];

Objective-C中的重要数据类型

输出日志 NSLog可以用来在打印输出信息,信息可输出到设备日志和debug控制台中,例如: NSlog(@"");

控制结构 Objective-C中的绝大多数控制结构和C语言、C++的一样,除了个别语句,如for..in结构语句。

属性 当外部类访问该类的时候,需要用property关键字。例如: @property(nonatomic , strong) NSString *myString;

访问属性 你可以使用点操作符来访问属性。访问上面的属性,可以这样做: self.myString = @"Test"; 你也可以使用set方法,如下: [self setMyString:@"Test"];

Categories Categories被用来为已存类添加方法。利用这种方法,可以为连implementation文件都没有的类添加方法。一个简单的category使用例子如下: @interface MyClass(customAdditions) - (void)sampleCategoryMethod; @end

@implementation MyClass(categoryAdditions)

-(void)sampleCategoryMethod{    NSLog(@"Just a test category"); }

数组 NSMutableArray 和 NSArray 是objective-C中的数组类。正如其名,前面的NSMutableArray是可变数组,NSArray是不可变数组。简单的数组例子如下: NSMutableArray *aMutableArray = [[NSMutableArray alloc]init]; [anArray addObject:@"firstobject"]; NSArray *aImmutableArray = [[NSArray alloc] initWithObjects:@"firstObject",nil];

Dictionary(字典) NSMutableDictionary 和 NSDictionary 是objective-C中的字典类,如其名所示, NSMutableDictionary是可变字典,NSDictionary是不可变的字典。简单的字典例子如下: NSMutableDictionary*aMutableDictionary = [[NSMutableArray alloc]init]; [aMutableDictionary setObject:@"firstobject" forKey:@"aKey"]; NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:     [NSArray arrayWithObjects:@"firstObject",nil] forKeys:[ NSArray   arrayWithObjects:@"aKey"]];

原文来自:codecloud

您还未登录,请先登录

热门帖子

最新帖子