1

我有这样的场景,

@interface ClassA:UIView
@property(readonly,strong)UIView *aView;
@end

我还有一堂课

@interface ClassB:NSObject
@property(readonly)ClassA *aObj;
@end

如何访问 ClassA 中的视图属性,如 setHidden 等....使用 ClassB 属性

例如:

在另一个类 ClassC.m 中,

import ClassB.h
@implementation ClassC
//
 ClassB *bObj;
bObj.aObj.aView.hidden = YES;

(注意:我不想在 .m 中为 ClassA 和 ClassB 修改/添加任何内容)

我想知道这是否可以通过为 ClassA 编写任何类别方法来实现。

4

1 回答 1

1

我了解您想要更改对象的属性,而不是指向它的变量。因此,标题具有误导性,您已经可以更改对象。没有什么能阻止你调用任何对象的方法。如果您希望在 Objective-C 中实现对象不变性,则必须在对象内部对其进行编码才能使其工作。

于 2012-12-16T05:46:25.617 回答