IOS基本概念

来源:互联网 发布:bt软件 编辑:程序博客网 时间:2024/06/06 20:20

一.入门基础

1)  Objective C的文件扩展名:

.h

头文件。头文件包含类名,继承关系,成员变量,属性和方法的签名。

.m

源代码文件。这是典型的源代码文件扩展名,可以包含Objective-CC代码。

.mm

源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-CC代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。

注:Objective C中提供了#inport来代替#include编译选项,而且能够确保相同的文件只会被包含一次;

①.nib文件其实就是xml文件,保存了用于展现程序界面的所有信息;

2) 委托

一个类A的对象将发送给它的消息转发给另一个类B的对象来处理,这里的类B就是A的委托类;

实现::::



3)  字符串NSString

Objective C提供了“@”,可以方便的从常量创建NSString对象;

NSString *myString = @”My String”;

NSString *myString2 = [NSString stringWithFormat:@”%d %S”,1,@”String”];

//C字符串创建NSString字符串

NSString* fromCString = [NSString stringWithCString:”C String” encoding:NSASCIIStringEncoding];

4) 

Objective-C的类规格说明包含了两个部分:接口和实现。接口部分包含了类声明和实例变量的定义,以及类相关的方法。实现部分包含了类方法的实际代码。

@interface MyString NSObject

{

           Int  count;

           Id   data;

           NSString *name;

}

-          (id)initWithString: (NSString*)aName;

+   (MyString*)createMyClassWithString: (NSString*)aName;

@end

实现部分

@implementation MyString

-          (id)initWithString: (NSString*)aName

{

           If(self = [super init]){

                    Count = 0;

                    Data = nil;

                    Name = [aname copy];//

                    Return self;

}

}

+   (MyString*)createMyClassWithString: (NSString*)aName

{

           Return [[[self alloc] initWithString:aName] autorelease];

}

此外,类不只可以声明方法,还可以声明属性;

 

当用变量保存对象的时候,始终应该使用指针类型。Objective-C对变量包含的对象支持强弱两种类型。强类型指针的变量类型声明包含了类名。弱类型指针使用id作为对象的类型。

MyString* mystring1; // strong typing;

Id mystring2;//weak typing

4)  方法

Objective-C中的类可以声明两种类型的方法:实例方法和类方法。

5)  属性

属性是用来代替声明存取方法的快捷方式;

属性声明应该放在类接口的方法声明那里。基本的定义使用@property编译选项,紧跟着类型信息和属性的名字。你还可以用定制选项对属性进行配置,这决定了存取方法的行为。

@property BOOL flag;
@property (copy) NSString* nameObject;
// Copy the object during assignment.
@property (readonly) UIView* rootView;// Create only a getter method.

使用属性另外的好处就是你可以在代码中访问他们的时候,使用点语法,如下面的例子所示:

myObject.flag = YES;
CGRect  
viewFrame = myObject.rootView.frame;

 

6)协议和代理

协议声明了可以被任何类实现的方法。协议不是那些类本身。他们仅是定义一个接口,其他的对象去负责实现。你实现了协议里面的方法,就叫做符合协议。

协议的声明跟类接口的声明很像,只是协议没有父类,而且他们不会定义任何实例变量。下面的例子展示了一个有一个方法的协议声明:

@protocol MyProtocol
       
- (void)myProtocolMethod;
@end

原创粉丝点击