我的目标c应用程序中有一个xib。但是当我试图加载这个viewController时,这花了大约1秒钟,这是一种不好的感觉......
我使用自定义字体,但我已将此正确添加到我的.plist中 我的customView类由文件所有者添加,并与出口连接。
我的代码是:
- (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];
答案 0 :(得分:2)
我无法根据您所说的内容重现问题。我在您的viewDidAppear
代码中添加了时间安排:
NSLog(@"%f", [[NSDate new] timeIntervalSinceReferenceDate]);
MyCustomXib *myview = [[MyCustomXib alloc] initWithFrame:CGRectMake(0, 0, 320, 600)];
[self.view addSubview:myview];
NSLog(@"%f", [[NSDate new] timeIntervalSinceReferenceDate]);
这是输出:
2017-01-24 12:47:18.812 NibLoadTest[12087:135969] 506983638.811982
2017-01-24 12:47:18.814 NibLoadTest[12087:135969] 506983638.814367
那是不延迟1秒!这是一两秒千分之。
因此,问题是虚幻的,或者是由您未展示的其他内容引起的。如果您正在尝试测量某事物的持续时间,衡量它。理想情况下,使用仪器;这就是它的用途。它会告诉我们花时间以及为什么。不要猜。