objective-c – 尝试替换已弃用的loadnibnamed:owner

objective-c – 尝试替换已弃用的loadnibnamed:owner,第1张

概述我正在尝试替换已弃用的 [NSBundle loadNibNamed:@"Subscriptions" owner:self]; 相反(只有我能找到相同的东西) [[NSBundle mainBundle] loadNibNamed:@"Subscriptions" owner:self topLevelObjects:nil]; 但是对话框d出并立即消失,而不是像使用已弃用的呼叫一样保持打开状态 我正在尝试替换已弃用的

[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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1011539.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存