Objective c 是否可以使用符合协议的类类型定义属性?

Objective c 是否可以使用符合协议的类类型定义属性?,objective-c,objective-c-category,objective-c-protocol,Objective C,Objective C Category,Objective C Protocol,例如,我有MyFancyData协议。如何指定MyFancyDataClass属性只接受符合此协议的类 @interface MyObject : NSObject @property Class MyFancyDataClass; 你是说像这样的事吗 @interface MyObject : NSObject @property (nonatomic, assign) Class<MyFancyData> cls; @end @接口MyObject:NSObject @属

例如,我有
MyFancyData
协议。如何指定MyFancyDataClass属性只接受符合此协议的类

@interface MyObject : NSObject

@property Class MyFancyDataClass;

你是说像这样的事吗

@interface MyObject : NSObject

@property (nonatomic, assign) Class<MyFancyData> cls;
@end
@接口MyObject:NSObject
@属性(非原子,赋值)类cls;
@结束
@属性id myFancyDataClass;

不,我需要一个类类型的属性。它可以工作,但似乎没有改变任何东西。我仍然可以将任何类的对象设置为此属性。您可以设置对象吗?这是一个类属性。我可以设置一个不符合属性定义中指定的协议的类。我想它不会比这个更好。
myFancyDataClass
是符合MyFancyData的类的对象。但是我需要一个
Class
type的对象。id基本上是指任何类。所以它会起作用。或者您可以使用对象
@property id<MyFancyData> myFancyDataClass;