Objective c 从nib初始化,但仅限alloc[UIViewController]
所以我现在在我的代码中这样做:Objective c 从nib初始化,但仅限alloc[UIViewController],objective-c,Objective C,所以我现在在我的代码中这样做: UIViewController* ctrl = [[UIViewController alloc] // i'm alloc'ing a UIViewController... initWithNibName:@"TheNibName" // But this NIB has, within // interface builder, a link to "UIViewControllerDERIVATIVE". So
UIViewController* ctrl =
[[UIViewController alloc] // i'm alloc'ing a UIViewController...
initWithNibName:@"TheNibName" // But this NIB has, within
// interface builder, a link to "UIViewControllerDERIVATIVE". So really,
// `ctrl` is a UIViewControllerDERIVATIVE instance, not just
// a UIViewController instance.
bundle:nil] ;
我这样做的原因是,编写一些推动模态对话框的代码非常方便。。因为Objective-C不支持
我的问题是,这样可以吗???我可以只
[alloc]
一个UIViewController
,而从NIB中产生的实际上是UIViewControllerDERIVATIVE
的一个实例吗?或者稍后它会咬我的屁股吗?您不能分配UIViewController
并将其初始化为UIViewControllerDelivative
,因为这两个类查看其实例的方式不匹配
一旦一个实例被一个类分配,初始化它就是这个类的责任。这是因为实例的类是在分配实例时设置的。查看更多详细信息。是的,我实际上发现了这一点,因为
UIViewControllerDERIVATIVE
中的成员实际上没有被分配。