【问题标题】:How does a UIViewController subclass know the its own filename?UIViewController 子类如何知道自己的文件名?
【发布时间】:2011-04-08 05:01:56
【问题描述】:

UIViewController -> nibName 属性的文档中说:

此属性包含在初始化时为 initWithNibName:bundle: 方法指定的值。该属性的值可能为零。

如果您使用 nib 文件来存储视图控制器的视图,建议您在初始化视图控制器时明确指定该 nib 文件。但是,如果您不指定 nib 名称,并且不覆盖自定义子类中的 loadView 方法,则视图控制器会使用其他方式搜索 nib 文件。具体来说,它会查找具有适当名称的 nib 文件(不带 .nib 扩展名),并在请求查看时加载该 nib 文件。具体来说,它会(按顺序)查找具有以下名称之一的 nib 文件:

  1. 如果视图控制器类名以单词“Controller”结尾,如在 MyViewController 中,它会查找名称与类名匹配但不包含单词“Controller”的 nib 文件,如在 MyView.nib 中。
  2. 它会查找名称与视图控制器类的名称匹配的 nib 文件。 例如,如果类名为 MyViewController,它会查找 MyViewController。笔尖文件。

我的问题是,类如何知道自己的文件名?

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    我认为在框架中他们使用的是自己的 API... NSString *string = NSStringFromClass([self class]); 这样他们就可以得到类名了...

    正如他们在文档中搜索的 viewController 类名一样,以单词“Controller”结尾。

    【讨论】:

    • 啊当然,我想错了。然后根本不知道文件名,他们只是假设文件与类具有相同的名称(按照惯例)并查找具有该名称加上“.xib”的文件。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 2012-06-11
    • 2012-09-15
    相关资源
    最近更新 更多