首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象引用

对象引用
EN

Stack Overflow用户
提问于 2009-11-18 07:46:03
回答 2查看 172关注 0票数 0

我有一个iPhone的情景编程。我有一个包含另一个对象(对象B)的对象(对象A)。有没有办法从对象B中引用对象A?如果是这样,我会怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-18 08:01:44

您可以让类相互引用,如下所示:

类A.h:

代码语言:javascript
复制
@class ClassB // let the compiler know that there is a class named "ClassB"

@interface ClassA : NSObject {
    ClassB *objectB;
}

@property (nonatomic, retain) ClassB *objectB;

@end

类B.h:

代码语言:javascript
复制
@class ClassA; // let the compiler know that there is a class named "ClassA"

@interface ClassB : NSObject {
    ClassA *objectA;
}

@property (nonatomic, assign) ClassA *objectA; // "child" object should not retain its "parent"

@end

类A.m:

代码语言:javascript
复制
#import "ClassA.h"
#import "ClassB.h"

@implementation ClassA

@synthesize objectB;

- (id)init {
    if (self = [super init]) {
        objectB = [[ClassB alloc] init];
        objectB.objectA = self;
    }

    return self;
}

@end

类B.m:

代码语言:javascript
复制
#import "ClassA.h"
#import "ClassB.h"

@implementation ClassB;

@synthesize objectA;

- (id)init {
    if (self = [super init]) {
        // no need to set objectA here
    }

    return self;
}

@end
票数 2
EN

Stack Overflow用户

发布于 2009-11-18 07:55:31

不是的。对象B需要有自己的指向对象A的指针。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1752686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档