0

有谁知道如何在目标 c 中添加一个属性 - 但该属性也是一个定制的类?

例如,我做了这个类:

@interface Person : NSObject

@property NSString *personName;
@property NSNumber *personAge;

-(id)init;

@end

在哪里...

@implementation Person

@synthesize personAge, personName;

-(id)init{
    self = [super init];

    if(self){
        self.personAge = [NSNumber numberWithInt:26];
        self.personName = @"Jamie";
    }
    return self;
}

@end

所以基本上每当我初始化和分配 Person 类时,它都会设置 personAge 为 26,personName 设置为 Jamie。

现在我想创建一个包含 person 属性的银行账户类:

@interface BankAccount : NSObject

@property NSNumber *bankAccNumber;
@property (nonatomic) Person *thePerson;

-(id)init;

@end

在哪里...

@implementation BankAccount

@synthesize thePerson = _thePerson;
@synthesize bankAccNumber;

    -(id)init{

        self = [super init];

        if(self){
            bankAccNumber = [NSNumber numberWithInt:999];
        }

        return self;
    }
    @end

现在 - 我的问题是:

1) 在 BankAccount 类中,我在哪里分配和初始化 Person 类?

4

1 回答 1

1

坚持你的榜样

@implementation BankAccount

@synthesize thePerson = _thePerson;
@synthesize bankAccNumber;

-(id)init{

    self = [super init];

    if(self){
        bankAccNumber = [NSNumber numberWithInt:999];
        thePerson = [[Person alloc] init];  // <- **** HERE
    }

    return self;
}
@end

当然,一般来说,您不希望每个人都成为 26 岁的 Jamies 并拥有 999 美元,但我想您计划稍后改进这些细节 :)

于 2012-08-12T14:21:18.957 回答