Iphone 是否使用NSObject添加子视图?

Iphone 是否使用NSObject添加子视图?,iphone,objective-c,class,uiview,nsobject,Iphone,Objective C,Class,Uiview,Nsobject,我有一个NSObject类型的类,在视图中它不允许我放置: [self.view addSubview:nsObject]; 因为它是不兼容的类型。如何使其工作?您需要将要添加的对象设置为UIView类型或从中继承。在类声明中,简单地说: @interface MyClasS : UIView { addSubview:方法只接受UIView的实例。它不适用于NSObject 查看中的方法规范。我假设nsSubview是UIView的一个子类,只需键入arg,通过编译器传递的arg就会将其视

我有一个NSObject类型的类,在视图中它不允许我放置:

[self.view addSubview:nsObject];

因为它是不兼容的类型。如何使其工作?

您需要将要添加的对象设置为
UIView
类型或从中继承。在类声明中,简单地说:

@interface MyClasS : UIView {

addSubview:
方法只接受
UIView
的实例。它不适用于
NSObject


查看

中的方法规范。我假设nsSubview是UIView的一个子类,只需键入arg,通过编译器传递的arg就会将其视为NSObject?或者它是某种包含UIView的包装器对象?你可以试试:

UIView *v = (UIView *)nsSubview ;
[ self.view addSubview:v] ;

为什么要尝试将非UIView对象作为子视图添加到UIView?C样式转换是危险的,除非您确定指针是您要转换到的正确类型。在任何情况下都不需要该转换。不可能将非UIView子类作为子视图插入到视图中,并且希望它能正常工作。多态性只能合理地做这么多。(叹气)在其他信息量有限的情况下,这似乎是一种快速了解发生了什么的方法。这里的问题是,它不会让我对它做任何我想做的事情。我希望它是它自己的对象,但我也希望它显示在我的主视图中。你想对它做什么,你不能通过子类化UIView?哦,我错了。这是因为我最初尝试将其设置为UIView,但由于某些原因,它不起作用,但将新的设置为NSObject起作用,并将其更改为UIView也起作用。