求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 
 

iOS教程
iOS (iPhone, iPad)教程
IOS - 快速入门
IOS - 开发环境配置
iOS - Objective-C基础
iOS - 创建第一个
IOS - 动作和插座
iOS - Delegates实例
iOS - UI元素
iOS - Accelerometer(加
IOS - 通用应用程序
IOS - 摄像头管理
iOS - 位置处理
iOS - SQLite 数据库
iOS - 发送电子邮箱
iOS - 音频和视频
IOS - 文件处理
IOS - 访问地图
iOS - 应用程序内购买
iOS - iAd 整合
 
 

iOS - Objective-C基础
903 次浏览
41次  

简介

iOS开发中使用的语言是objective C.它是一种面向对象的语言,因此有面向对象语言编程的一些背景会很容易理解。?

接口和实现

在Objective-C类的声明文件被称为接口文件和文件定义类被称为实现文件。

类似于下面的一个简单的接口文件MyClass.h

@interace 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] ;

方法

Objective-C的方法中声明如下

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

一个例子如下所示

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

可能想知道什么是andBreadth字符串,实际上这有助于我们阅读和理解方法,特别是在调用的时候,其可选的字符串。要在同一类中调用此方法,我们使用下面的语句

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

正如上面所说的使用andBreadth有助于我们理解,breath?是20。self 用于指定它是一个类方法。

类方法

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

+(void)simpleClassMethod;

它可以访问使用类名(我们假设MyClass作为类名)如下。

[MyClass simpleClassMethod];

实例访求

实例方法可以访问后,才创建的类的对象。实例变量分配内存。的一个例子的实例方法如下所示。

-(void)simpleInstanceMethod; 

它可以访问如下的类创建对象后,

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

Objective-C重要数据类型

打印日志

NSLog - 使用打印一份声明。这将是打印的设备的日志和调试控制台释放和调试模式。

Eg: NSlog(@"");

控制结构

大多数的控制结构中的相同,C和C ++除了在声明中添加了一些像。

属性

使用一个外部类访问类变量属性

Eg: @property(nonatomic , strong) NSString *myString;

访问属性

可以使用点运算符来访问属性。访问上述物业,我们将做到以下几点。

self.myString = @"Test";

也可以使用设置方法如下。

[self setMyString:@"Test"];

部类

类别将方法添加到现有的类。通过这种方式,我们可以添加类的方法,而我们甚至没有实施实际的类定义文件。我们的类是一个样本类别如下。

@interace MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end

@implementation MyClass(categoryAdditions)

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

数组

NSMutableArray和NSArray是Objective-C中的数组类。顾名思义,前者是可变的,后者是不可改变的。一个例子如下所示:

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

字典

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

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



903 次浏览
41次
 捐助