Я хочу пройти по ссылке в ObjC.
Вот иллюстрация сценария:
// MainClass.h
@interface MainClass
{
Board *board;
OtherClass *other;
}
@end
// MainClass.m
@implementation MainClass
- (id)init
{
if (self = [super init])
{
board = [[Board alloc] init];
other = [[OtherClass alloc] initOtherClassWithBoard: board];
}
return self
}
@end
// Other class.h
@interface OtherClass
{
Board *refBoard;
}
- (void)initOtherClassWithBoard: (Board*)ref;
@end
@implementation OtherClass
- (id)initOtherClassWithBoard: (Board*)ref
{
if (self = [super init])
{
refBoard = ref;
}
return self;
}
@end
Итак, мой вопрос: держит ли мой OtherClass референсную доску от MainClass?
Или Правление OtherClass является копией, но не ссылкой.
Если я хочу сделать ссылку, то как мне ее изменить?
EDIT:
Что если я добавлю это в оба класса
@property (nonatomic, retain) Board *board;