我有一个要求,即协议中的readonly
属性很少,并且将该协议用于两个类(比如A& B),因为属性为readonly
,我将其重新声明为我的两个类(A& B)的.m Files
我可以如何避免这两个类中所有属性的重复重新声明?
答案 0 :(得分:0)
您可以将公共属性定义放入头文件中,并将其包含在每个类的接口中。
公共标题: common-props.h
@property (nonatomic, retain) SomeType *common1;
@property (nonatomic, retain) SomeType *common2;
@property (nonatomic, retain) SomeType *common3;
实施: A.m
@interface A ()
// Note: you have to use include, not import,
// to ensure the contents will be interpolated, no matter what.
#include "common-props.h"
@end
@implementation A
// Stuff
@end
重复B级。
不建议使用此方法。无论如何,通过我。
答案 1 :(得分:-1)
创建一个类并在该类中声明readonly属性。然后创建继承自该类的类A和B.
所以你的CommonClass.h
看起来像这样
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface CommonClass : NSObject
@property (strong, readonly) <Type1> property1;
@property (strong, readonly) <Type2> property2;
@end
现在您可以创建继承自CommonClass
的类A和B.@interface A : CommonClass
@interface B : CommonClass