gpt4 book ai didi

objective-c - 为什么 [NSBundle mainBundle] 在这里不起作用?

转载 作者:行者123 更新时间:2023-12-03 17:06:16 25 4
gpt4 key购买 nike

我从未加载过 bundle ,所以我不确定为什么这不起作用。我认为这并不重要,但这里有问题的 .xib 与我所有其他 .xib 位于同一个资源文件夹中。

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"S3AsyncView" owner:self];

返回此错误:

Instance method -loadNibNamed:owner not found.  Return type defaults to id

我觉得这个错误很奇怪,因为[NSBundle mainBundle]的返回类型当然是NSBundle。

最佳答案

NSBundle 中没有这样的方法,因此出现错误。

我猜您正在寻找:

loadNibNamed:owner:options:

您可以通过nil到选项,因为它期望 NSDictionary

所以在你的情况下:

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"S3AsyncView" owner:self options:nil];

编辑

如果仍然不起作用,请验证您是否已包含 <UIKit/UIKit.h> .

编辑2

好的,现在我明白了。您用 iOS 标记了您的问题,但现在您说它是一个 Cocoa 应用程序。

loadNibNamed:owner:options:是 UIKit 的补充,因此仅适用于 iPhone。

在 Mac OS X 上,您将使用 + (BOOL)loadNibNamed:(NSString *)aNibName owner:(id)owner类方法。

所以:

NSArray *array = [ NSBundle loadNibNamed: @"whatever" owner: self ];

关于objective-c - 为什么 [NSBundle mainBundle] 在这里不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7336232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com