当先锋百科网

首页 1 2 3 4 5 6 7

一:Objective-C语言基础:

1.1)#import 包含头文件  与#include 作用相同

1.2)Object-c类包含两大块代码

         1、  接口MyClass.h

                @interface MyClass

                @end

        2、  实现MyClass.m

               @implementation MyClass

              @end

 1.3)没有在@interface中声明的方法依然可以在@implementation中调用。这是由于object-c是动态语言一般情况下,都会提供h文件,所以在m文件中写h文件中没有的方法,别人是不会知道的,这相当于将方法变相的私有化。类名第一个字母大写。

 1.4)标准的类定义格式 :

复制代码
MyClass.h

@ interface MyClass:NSObject{

//实例变量

}

- (NSString*) sayhello;

@end

MyClass.m

@implementation MyClass

-(NSString*) sayhello{

return @”Hello!”;

}

@end
复制代码

 1.5)分配内存与设置初始值

         MyClass *myclass=[[MyClass alloc]init];

         所有的object-c对象变量都是指针类型的,数据类型的右边要加一个星号。

 

1.6)消息和方法:

        +或者- (返回类型)方法名: (参数类型)参数名;

        类方法(+):通过发一个消息给类本身来调用

                    1、  工厂方法:给类分配实例的方法

                    2、  全局公用方法:可以被其他类调用,不需要实例化

       实例方法(-):通过发一个消息给类的实例来调用

                   -  (void) setNumberator: (int) n;

 

1.7)调用方法:

         [实例  方法];---------实例方法

         [类名  方法];---------类方法

        也可以理解为[接收方  消息];

        变量 = [实例  方法];--------一个方法可以返回值,保存在变量中

        [接收方  名字1:参数1  名字2:参数2  名字3:参数3 …];

  1.8)可以使用”.”来调用一个变量实例

        a.num=3;<=>[a  num:3];

  1.9)nil(空)与C语言的NULL相同

           Nil定义一个指向空的类(是class,不是对象)

 1.10)数据类型:

         1 char、int、float、double、long、unsigned short、const、static等

         2 字符串:NSString

            字符串常量 @” ”

        3结构体struct、指针

        4 id类型:可以存储任何类型的对象

           typedef struct objc_object{

              Class isa;

          }*id;

         Id是指向struct objc_object的一个指针,指向任何一个继承了NSObject类的对象,id是一个指针,在使用时不需要加星号。

         Id取代int类型成为默认的数据结构。

      5 BOOL  YES/NO 相当于C中的bool类型(truefalse

      6 SEL  选择器:传递函数的方法,与c语言的函数指针、c++的函数引用相似。

复制代码
         - (void)print;


         SEL sel = @selector(print);

         if([obj respondsToSelector:sel]){//判断该对象是否有相应的方法

              [obj performSelector:sel withObject:nil];//调用选择器方法

         } 
复制代码

 

      7 Class(类)被定义俄日一个指向struct objc_class的指针。

      8 数组,在object-c中有NSArray类,因此很少用到数组。

1.11)操作符和控制语句

        Object-C使用C语言中的运算符。

        判断语句: if...else if...else/switch

       循环语句 :while/for/do...while

1.12)输出函数:NSLog

         输入函数:scanf