
[NSBundle loadNibnamed:@"Subscriptions" owner:self];
相反(只有我能找到相同的东西)
[[NSBundle mainBundle] loadNibnamed:@"Subscriptions" owner:self topLevelObjects:nil];
但是对话框d出并立即消失,而不是像使用已弃用的呼叫一样保持打开状态.
这段代码在这样的vIEwcontroller中.
- (ID)init{ self = [super init]; if (self) { //[NSBundle loadNibnamed:@"Subscriptions" owner:self]; [[NSBundle mainBundle] loadNibnamed:@"Subscriptions" owner:self topLevelObjects:nil]; } return self; }
而我正在从appdelegate这样称呼它.
SubscriptionsVIEwController *subscriptionsVIEwController = [[SubscriptionsVIEwController alloc] init];[subscriptionsVIEwController.window makeKeyAndOrderFront:self];
有什么我想念的吗?对我来说似乎很直接.
解决方法 出现然后消失的对话框是可能的对象集合的标志 – 强烈引用对话框,它将被收集和丢失.不推荐的调用保留了nib中顶级对象的所有权,而新调用则没有.
因此,引用顶级对象的所有者对象的属性必须很强,或者您需要保留顶级对象数组.这与此类属性较弱的旧建议相反.
引用nib中非顶级对象的属性仍然很弱.
总结以上是内存溢出为你收集整理的objective-c – 尝试替换已弃用的loadnibnamed:owner全部内容,希望文章能够帮你解决objective-c – 尝试替换已弃用的loadnibnamed:owner所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)