Objective-C 在自定义类中使用另一个自定义类

在ClassB中使用ClassA
ClassA:


#import 

@interface ClassA : NSObject
{
    int num;
}
@property int num;
//自动封装属性
@end

@implementation ClassA
@synthesize num;
@end

ClassB:


#import "ClassA.h"
//@class ClassA;
//如果没有调用ClassA中的方法,而只是用到了属性,就不需要import *.h文件,只需要使用@class 引入类,速度更快
@interface ClassB : NSObject
{
    ClassA *a;
}
-(void)initA:(ClassA *) aa;
-(void)printA;
@end

@implementation ClassB
-(void)initA:(ClassA *)aa
{
    a=[ClassA new];
    [a setNum:aa.num];
    //不直接赋值,是因为传过来的是指针,如果外部的ClassA对象被修改,这里的值会受到影响
     
}
-(void)printA
{
    NSLog(@"num的值为%d",a.num);
}
@end

使用:


#import 
#import "ClassB.h"
//导入头文件

int main (int argc, const char * argv[])
{
    
    @autoreleasepool {
        ClassA *a=[ClassA new];
        a.num=5;
        NSLog(@"%d",a.num);
        
        ClassB *b=[ClassB new];
        [b initA:a];
        [b printA];
        
    }
    return 0;
}

© 2012, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记