我想在我的项目中使用我的类作为属性。我的想法是我有一个包含所有列表元素的类。我在下图中显示的基本思想: 所以我有一个 myContainerClass 对象,我想在其他一些类中做: @property (strong,nonatomic) MyContainerClass *obj; 在这里我有错误!我发现我只能将 Foundations 类型用作 @property。但为什么?什么是替代品(传递对象)?
最佳答案
不,你可以使用任何你喜欢的类作为属性
@property (nonatomic, strong) MyContainerClass* obj;
是完全合法的,前提是编译器知道 MyContainerClass
是一个类。要在头文件中做到这一点,最好的方法是使用 @class
前向声明:
@class MyContainerClass;
@interface SomeOtherClass : NSObject
// method an property declarations
@property (nonatomic, strong) MyContainerClass* obj;
@end
然后在实现中包含头文件:
#import "MyContainerClass.h"
@implementation SomeOtherClass
@synthesize obj;
// other stuff
@end
关于objective-c - NSObject 子类作为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10395438/