• 热门专题

OC学习篇之@class关键字的作用以及#include和#import的区别

作者:  发布日期:2014-12-06 21:03:01
Tag标签:关键字  作用  
  • 前一篇文章说到了OC中类的三大特性:http://blog.csdn.net/jiangwei0910410003/article/details/41707161今天我们来看一下在学习OC的过程中遇到的一些问题,该如何去解决,首先来看一下我们之前遗留的一个问题:

     

    一、#import和#include的区别

     

    当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误

    但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了

     

    二、关键字@class的作用

    在来看一下OC中的关键字@class的作用,在看他的作用之前,先来看一个问题:

    现在有一个课程类Classes和学生类Student,他们两之间需要相互引用(导入)。直接看代码比较直接:

    Classes.h

     

    //
    //  Classes.h
    //  08_@class
    //
    //  Created by jiangwei on 14-10-11.
    //  Copyright (c) 2014年 jiangwei. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    #import "Student.h"
    
    //不会将Student.h拷贝过来,只是告诉编译器Student这个类在别的地方中有定义,这样就不知道这个类中任何信息(哪些属性和方法)
    //@class Student;
    
    @interface Classes : NSObject{
        
    @public
        Student *_student;
    }
    
    - (void)t1;
    
    @end
    

     

    导入Student.h头文件

     

    Classes.m

     

    //
    //  Classes.m
    //  08_@class
    //
    //  Created by jiangwei on 14-10-11.
    //  Copyright (c) 2014年 jiangwei. All rights reserved.
    //
    
    #import "Classes.h"
    
    //#import "Student.h"
    
    @implementation Classes
    
    - (void)t1{
        [_student work];
    }
    
    @end
    

     

     

    在来看一下Student类

    Student.h

     

    //  Student.h
    //  08_@class
    //
    //  Created by jiangwei on 14-10-11.
    //  Copyright (c) 2014年 jiangwei. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    #import "Classes.h"
    
    @interface Student : NSObject{
        Classes *_classes;
    }
    
    - (void)work;
    
    @end
    
    同样的也导入Classes.h头文件

     

    Student.m

     

    //
    //  Student.m
    //  08_@class
    //
    //  Created by jiangwei on 14-10-11.
    //  Copyright (c) 2014年 jiangwei. All rights reserved.
    //
    
    #import "Student.h"
    
    @implementation Student
    
    - (void)work{
        NSLog(@"work");
    }
    
    @end
    

     

    在来看一下测试代码:

    main.m

     

    //
    //  main.m
    //  08_@class
    //
    //  Created by jiangwei on 14-10-11.
    //  Copyright (c) 2014年 jiangwei. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    #import "Classes.h"
    #import "Student.h"
    
    //Classes和Student相互导入会出现问题
    //这时候我们就可以使用@class解决这样的问题
    //我们一般在.h文件中使用@class,因为在.h文件中一般是不会使用类的属性和方法的
    //在.m文件中可以导入.h文件
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Classes *cls =[[Classes alloc] init];
            Student *stu = [[Student alloc] init];
            cls->_student = stu;
            [cls t1];
            
        }
        return 0;
    }
    
    这里有一个问题注意一下:我们看到了这里是如何使用Classes中的属性_student的,因为在Classes类中属性_student是@public的,所以可以直接使用,用的是箭头符号,和C/C++中的指针变量调用差不多。记住了,这里就说到了如何直接访问一个类中的@public修饰符的属性变量

     

     

    我们编译运行:

    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
About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规