-1

这可能是一个愚蠢的问题,但我什么也没找到……我偶然发现了一段我认为可以优化的代码。

我有一个由 24 个注释/帖子组成的视图控制器。在 view-did-load-process 过程中调用以下内容:

 for (int i = 1; i <= 24; i++)
{
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"PostitView" owner:self options:nil];
    for (UIView *subview in nib)
    {
        if ([subview isKindOfClass:NSClassFromString(@"PostitView")]) 
        {

从笔尖一次又一次地加载 postit 需要很长时间。

我会说,我只是从子视图中复制一份,但它不起作用。那么正确的方法是什么?

谢谢!!!汤姆

4

1 回答 1

2

在循环之前,创建一个UINib代表您的笔尖的对象。在循环内部,要求UINib实例化自身。

UINib *nib = [UINib nibWithNibName:@"PostitView" bundle:nil];
Class viewClass = [PostitView class];
for (int i = 0; i < 24; i++) {
    NSArray *topLevelObjects = [nib instantiateWithOwner:self options:nil];
    for (UIView *subview in topLevelObjects) {
        if ([subview isKindOfClass:viewClass)  {
            ...
于 2013-02-12T18:02:31.750 回答