-1

NameとPersonというインスタンス変数を持つPersonクラスがあります。

@interface Person : NSObject{
    NSString *name;
    Person *child;
}

@property (copy) NSString *name;
@property (strong) Person *child;
@end

@implementation Person
@synthesize name;
@synthesize child;

-(id) init{
    self = [super init];
    if(self){
        name = @"";
        child = [[Person alloc]init];
    }
    return self;
}
@end

次のようなPersonオブジェクトを作成する場合:

Person *parent = [[Person alloc]init]; 

プログラムはPersonインスタンスを作成するために繰り返されますが、どうすればこれを解決できますか?

4

1 に答える 1

3

すべての人に子供がいるわけではありませんが、なぜ新しい人が作成されるたびに子供を割り当てるのですか?

言い換えれば、あなたがしていることをしないでください。たまたま子供がいる場合は、その子供を別に作成し、その人のchild財産を適切に設定してください。

于 2012-07-10T14:27:16.160 に答える