我想将我的课程用作项目中的属性。这个想法是我有一个包含所有列表元素的类。我在下面的图形中显示的基本思想:
所以我有一个myContainerClass对象,我想在其他一些类中做:
@property(强,非原子)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/