OC5_@class关键字

//
//  ClassB.h
//  OC5_@class关键字
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ClassA.h"

@interface ClassB : NSObject
{
    ClassA *_a;
}

@property (copy,nonatomic)NSString *nameB;

- (void)printClassB;

@end




//
//  ClassB.m
//  OC5_@class关键字
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "ClassB.h"

@implementation ClassB

- (void)printClassB
{
    NSLog(@"name = %@", _a.nameA);
}

@end
//
//  ClassA.h
//  OC5_@class关键字
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
//#import "ClassB.h"//
@class ClassB;

@interface ClassA : NSObject
{
    ClassB *_b;
}

@property (copy,nonatomic)NSString *nameA;

- (void)printClassA;

@end


//
//  ClassA.m
//  OC5_@class关键字
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "ClassA.h"
#import "ClassB.h"

@implementation ClassA

- (void)printClassA
{
    NSLog(@"%@", _b.nameB);
}

@end
//
//  main.m
//  OC5_@class关键字
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ClassA.h"
#import "ClassB.h"

//A-->B  B-->A
//#import 关键字 引用类的类型及类中定义的方法,包含在头文件中,可能导致循环包含,需要用@class打断循环链

//@class 关键字, 只引用类的类型不引用类中的方法,如果要使用类中的方法,需要在对应的.m文件中用#import包含

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        
        
        
    }
    return 0;
}

 

posted @ 2015-06-24 19:56  sirzhang  阅读(179)  评论(0编辑  收藏  举报
AmazingCounters.com