objective-c中的UIImageViews数组

时间:2013-07-20 22:13:17

标签: java objective-c arrays uiimageview

我已经有了很多UIImageViews ..我想创建一个UIImageViews数组,并用上面的一个UIImageViews分配数组的每个元素。我怎么能用目标c? 我在java中做了如下:

JLabel l1=new JLabel();
JLabel l2=new JLabel();
JLabel [] arrayOfLabels = new JLabel[2];
arrayOfLabel[0] = l1;
arrayOfLabel[1] = l2;

我需要在目标c中做同样的事情。

4 个答案:

答案 0 :(得分:1)

UILabel * l1 = [[UILabel alloc] init];
UILabel * l2 = [[UILabel alloc] init];
NSMutableArray * arrayOfLabels = [NSMutableArray arrayWithCapacity:2];
arrayOfLabels[0] = l1;
arrayOfLabels[1] = l2;

答案 1 :(得分:1)

让我根据你的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;

希望这对你有帮助。

答案 2 :(得分:0)

UIImageView *view1;
UIImageView *view2;
// assuming they are already instantiated
NSMutableArray *arrayOfImageViews = [[NSMutableArray alloc] init];
[arrayOfImageViews addObject:view1];
[arrayOfImageViews addObject:view2];

答案 3 :(得分:0)

使用更现代的语法,您可以说

NSArray *myViewArray=@[ view1, view2, view3 ];