Ios 如何快速将xib视图加载到viewController中?

Ios 如何快速将xib视图加载到viewController中?,ios,objective-c,iphone,xcode,xib,Ios,Objective C,Iphone,Xcode,Xib,我的objective c应用程序中有一个xib。但是当我尝试加载这个viewController时,这会花费大约1秒的时间,这是一种不好的感觉 我使用的是自定义字体,但我已将其正确添加到.plist中 我的customView类由文件所有者添加,并与Outlet连接 我的代码是: - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { nib

我的objective c应用程序中有一个xib。但是当我尝试加载这个viewController时,这会花费大约1秒的时间,这是一种不好的感觉

我使用的是自定义字体,但我已将其正确添加到.plist中 我的customView类由文件所有者添加,并与Outlet连接

我的代码是:

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];

    if (self)
    {
        nibname=@"MyCustomView";

        [self addSubview:
        [[[NSBundle mainBundle] loadNibNamed:nibname
                                       owner:self
                                     options:nil] objectAtIndex:0]];


    }
    return self;
}
然后,我将其加载到我的viewController中,如下所示:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    ...
    MyCustomXib *myview = [[MyCustomXib alloc] initWithFrame:CGRectMake(0, 0, 320, 600)];
    [self.view addSubview:myview];
    ...
}
我是否正确加载此自定义视图

如何才能更快地完成此加载过程

修改1,然后阅读马特评论:

[self.view addSubview:myview];

要提供:最后一个错误代码:[self.view myview]

根据你所说的,我无法重现这个问题。我已将计时添加到您的ViewDidDisplay代码中:

以下是输出:

2017-01-24 12:47:18.812 NibLoadTest[12087:135969] 506983638.811982
2017-01-24 12:47:18.814 NibLoadTest[12087:135969] 506983638.814367
这不是一秒钟的延迟!这是千分之二秒


因此,这个问题是虚幻的,或者是由你没有展示的其他东西引起的。如果你想测量某物需要多长时间,就要测量它。理想情况下,使用仪器;这就是为什么。它会告诉你什么需要时间,为什么需要时间。不要猜测。

这不是您真正的代码。行[self.view myview];什么都没有意义?实际上,我将此添加到uiscrollView,但为了更简单地执行此示例,我将此添加到视图中。发生了什么事?这也是工作……你没有添加任何内容。如果你想说addSubview:你应该说出来。提供真实的代码,而不仅仅是你徒手输入的东西。从一个真实的测试项目复制和粘贴。很抱歉,但我已经更改了我的代码,将其添加到self.view中,并像添加到scroll一样工作,因此我决定在self.view中显示我的示例。。。这可能更容易1.你没在听我说什么。实际行[self.view myview];不会编译。这是胡说八道。这不是Objective-C。将此代码放在ViewDidDisplay中似乎也有风险,因为在该视图控制器的生命周期内,可能会多次调用此代码,从而导致重复添加相同的视图。非常感谢@马特:这是正确的答案。我已将代码更改为viewDidLoad函数,该函数可以立即正常工作。问题是您的评论,在ViewDidEmerge中被多次调用。快乐编码!谢谢
2017-01-24 12:47:18.812 NibLoadTest[12087:135969] 506983638.811982
2017-01-24 12:47:18.814 NibLoadTest[12087:135969] 506983638.814367