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

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

【问题讨论】:

    标签: cocoa-touch uikit nib


    【解决方案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
    猜你喜欢
    • 2011-07-25
    • 2014-09-02
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 2011-05-24
    相关资源
    最近更新 更多