公共接口和扩展中的属性类型

时间:2014-01-31 22:45:44

标签: objective-c types properties attributes

我有几个关于Objective-C属性的相关问题,但首先让我们看一下代码:

这是该类的公共接口:

@interface SomeClass : NSObject

@property(retain, readonly) ParentType* aVariable;

@end

在实现中我定义了一个类扩展:

@interface SomeClass ()

@property(retain) ChildType* aVariable;

@end

我知道我可以做这种事情来实现“aVariable”读写,但我有两个问题:

  1. 在类扩展中使用属性的子类型是否可以接受?这会有用吗?
  2. 我是否需要在类扩展中保留retain属性?或者重新声明属性是否清除了所有这些属性?
  3. 提前致谢!

    编辑:错字

1 个答案:

答案 0 :(得分:2)

  1. 是的,建议。如果你想看看它是否有效,你可以尝试一下。
  2. 他们必须匹配,所以你必须再次添加它。公开宣言和私人声明之间唯一可以改变的是“只读”。