NSBundle 可能不会响应 +loadNibNamed:owner:options:

Posted

技术标签:

【中文标题】NSBundle 可能不会响应 +loadNibNamed:owner:options:【英文标题】:NSBundle may not respond to +loadNibNamed:owner:options: 【发布时间】:2010-09-27 01:57:58 【问题描述】:

我在我的代码中收到上述警告。我在文档中查找了该方法,发现它是在UINibLoading.h 中声明的。我尝试导入这个,但警告没有消失。

【问题讨论】:

【参考方案1】:

loadNibNamed:owner:options: 是一个实例方法,如头文件和documentation 中的前导- 所示。

- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

如果是这样

+ (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

那将是一个类方法。

你需要先通过类方法+mainBundle获取主bundle(即你正在开发的应用的app bundle),然后应用loadNibNamed:owner:options:,如

 [[NSBundle mainBundle] loadNibNamed:@"foo" owner:self options:nil];

【讨论】:

谢谢。所以我根本不需要导入那个文件 Casebash:你是从 Cocoa 来的吗? AppKit 的+[NSBundle loadNibNamed:owner:] 一个类方法,不像它的 UIKit 对应物。 我主要做Cocoa(不是Touch),我不知道+[NSBundle loadNibNamed:owner:]的存在:p

以上是关于NSBundle 可能不会响应 +loadNibNamed:owner:options:的主要内容,如果未能解决你的问题,请参考以下文章