Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone initWithNibName VS NSBundle';这是我的名字_Iphone_Objective C_Cocoa Touch_Uitableview_Nib - Fatal编程技术网

Iphone initWithNibName VS NSBundle';这是我的名字

Iphone initWithNibName VS NSBundle';这是我的名字,iphone,objective-c,cocoa-touch,uitableview,nib,Iphone,Objective C,Cocoa Touch,Uitableview,Nib,我注意到加载nib/xib文件有两种不同的方法: 通过UIView的initWithNibName:bundle:方法 NSBundle的loadNibNamed:owner:options:方法 有人能解释一下这两者之间的区别吗?在什么情况下使用一个比另一个更合适 例如,如果我从tableView:viewForHeaderInSection:方法中的nib文件加载自定义表节头视图,我会使用哪一个 或者,如果从nib文件加载自定义表视图单元格,我会使用哪一个?NSBundle的方法是用于非归档

我注意到加载nib/xib文件有两种不同的方法:

  • 通过UIView的
    initWithNibName:bundle:
    方法
  • NSBundle的
    loadNibNamed:owner:options:
    方法
  • 有人能解释一下这两者之间的区别吗?在什么情况下使用一个比另一个更合适

    例如,如果我从tableView:viewForHeaderInSection:方法中的nib文件加载自定义表节头视图,我会使用哪一个


    或者,如果从nib文件加载自定义表视图单元格,我会使用哪一个?

    NSBundle
    的方法是用于非归档nib的通用API。它们执行实际工作(与NSNib一起执行)

    另一方面,
    UIViewController
    initWithNibName:bundle:
    是一种初始化视图控制器的方法,该视图控制器(可能)从nib加载其视图。该方法本身并不加载nib,只记录名称。当请求视图时,控制器将延迟加载nib


    我不知道在
    UIView

    中有任何nib加载,如果标题的视图控制器包含nib文件中任何字段的IBOutlets,则最好加载nib文件,而不是调用initWithNib。 在头文件的视图控制器中,按如下方式修改初始化语句。默认语句被注释掉。
    通过这样做,您将能够使用IBoutlets访问nib文件中的字段

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
        //self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        // Custom initialization.
        if ([[NSBundle mainBundle] loadNibNamed:@"NibFile" owner:self options:nil]) {
    
        }
    
        return self;
    }
    

    如果可以的话,我会投你100票。你的回答真的帮了我-解决了两个问题。我还需要包括一个带有选项的NSDictionary。谢谢