如何在iOS中进行只读属性读写?

时间:2012-12-16 05:29:15

标签: objective-c

我有这样的场景,

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

我有另一个班级

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

如何使用ClassB属性

访问ClassA中的视图属性,如setHidden等....

例如:

在另一个班级ClassC.m中,

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

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

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

1 个答案:

答案 0 :(得分:1)

我知道您想要更改对象的属性,而不是指向它的变量。因此标题具有误导性,您可以更改对象。没有什么能阻止你在任何对象上调用方法。如果你想在Objective-C中使用对象不变性,你必须在对象内编码才能使它工作。