Java objective-c中的UIImageView数组
我已经有很多看法了。。我想创建一个UIImageView数组,并使用上面的一个UIImageView为数组的每个元素赋值。。我怎样才能用目标c做到这一点?? 我用java做了如下操作:Java objective-c中的UIImageView数组,java,objective-c,arrays,uiimageview,Java,Objective C,Arrays,Uiimageview,我已经有很多看法了。。我想创建一个UIImageView数组,并使用上面的一个UIImageView为数组的每个元素赋值。。我怎样才能用目标c做到这一点?? 我用java做了如下操作: JLabel l1=new JLabel(); JLabel l2=new JLabel(); JLabel [] arrayOfLabels = new JLabel[2]; arrayOfLabel[0] = l1; arrayOfLabel[1] = l2; 我需要在objective c中做同样的事情。
JLabel l1=new JLabel();
JLabel l2=new JLabel();
JLabel [] arrayOfLabels = new JLabel[2];
arrayOfLabel[0] = l1;
arrayOfLabel[1] = l2;
我需要在objective c中做同样的事情。使用您可以说的更现代的语法
UIImageView *view1;
UIImageView *view2;
// assuming they are already instantiated
NSMutableArray *arrayOfImageViews = [[NSMutableArray alloc] init];
[arrayOfImageViews addObject:view1];
[arrayOfImageViews addObject:view2];
NSArray *myViewArray=@[ view1, view2, view3 ];
为了更清晰,让我根据您的Java语句回答您:
//Java:
JLabel l1=new JLabel();
//Objective C:
UIImageView * l1= [[UIImageView alloc] init];
//Java:
JLabel l2=new JLabel();
//Objective C:
UIImageView * l2 = [[UIImageView alloc] init];
//Java
JLabel [] arrayOfLabels = new JLabel[2];
//Objective C
NSMutableArray * imagesArray = [[NSMutableArray alloc] init];
//Java
arrayOfLabel[0] = l1;
//Objective C
[imagesArray addObject:l1];
//Java
arrayOfLabel[1] = l2;
//Objective C
[imagesArray addObject:l2];
由于您没有使用ARC(我从您的评论中猜到),因此您必须手动释放这些内容,作为内存管理的一部分,如下所示:
[l1 release]; //After adding it to imagesArray
[l2 release]; //After adding it to imagesArray
在不需要时释放imagesArray
。通常在dealloc()
中完成,但您可以在不需要的任何位置释放它,只需调用:
[imagesArray release];
imagesArray = nil;
希望这能对您有所帮助。您在哪里有很多图像视图?它们是如何定义的?因此view1位于索引0,view2位于索引1的右侧??。。如果我想将索引1处的元素更改为view1呢??我的意思是如何访问特定的元素进行修改,即
[arrayOfImageViews replaceObjectAtIndex:1 with Object:view1]代码>。请注意,数组包含指向真实对象的指针(例如view1、view2)。不能修改指针,只能替换。但是,您可以修改指针指向的元素。您可以使用[arrayOfImageViews objectAtIndex:1]
图像数组[0]=l1也合法,更像java风格。只需使用ARC@nouf,当然,除非有很好的理由您不能。。。在这种情况下,当您不再需要它时,[imagesArray release]
。和[l1 release]
和[l2 release]
将它们添加到阵列后。
[imagesArray release];
imagesArray = nil;