我有一个iPhone的情景编程。我有一个包含另一个对象(对象B)的对象(对象A)。有没有办法从对象B中引用对象A?如果是这样,我会怎么做呢?
发布于 2009-11-18 08:01:44
您可以让类相互引用,如下所示:
类A.h:
@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:
@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:
#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:
#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发布于 2009-11-18 07:55:31
不是的。对象B需要有自己的指向对象A的指针。
https://stackoverflow.com/questions/1752686
复制相似问题