Ios 从不同的视图控制器访问阵列

Ios 从不同的视图控制器访问阵列,ios,iphone,arrays,xcode,Ios,Iphone,Arrays,Xcode,我有两节课。第一个下载数据图像并将它们一个接一个地添加到数组中。当所有16个视图都完成后,运行操作将视图切换到第二个视图。我这里的问题是如何在第二个类中从第一个类访问数组 代码如下: 首先,h 数组在.m文件中合成 第二,h 第二,m 标签显示0,而imageView不显示任何内容。有什么想法吗?请充分了解Objective-C中面向对象的特性和对象通信 不要创建第一个类的新实例。这将创建一个新的第一个内存对象 您必须访问在现有第一个类中创建的现有imagesArray类对象 为此,请将第二个.

我有两节课。第一个下载数据图像并将它们一个接一个地添加到数组中。当所有16个视图都完成后,运行操作将视图切换到第二个视图。我这里的问题是如何在第二个类中从第一个类访问数组

代码如下:

首先,h

数组在.m文件中合成

第二,h

第二,m


标签显示0,而imageView不显示任何内容。有什么想法吗?

请充分了解Objective-C中面向对象的特性和对象通信

不要创建第一个类的新实例。这将创建一个新的第一个内存对象

您必须访问在现有第一个类中创建的现有imagesArray类对象

为此,请将第二个.m中的NSMutableArray属性声明为弱属性,并在分配第二个.m时从第一个.m类中分配它

例如:

第一,m

您将在第一个.m文件中使用类似的代码

第二,m


有两种方法可以实现你的目标

从第一个控制器到第二个控制器的1个首次传递数组

在第二个controller.h中生成数组对象 然后

从显示第二个控制器的第一个控制器开始

second.array_object = first.array_name;
这样,您就可以在第二个控制器中获得阵列

2将数组声明为全局数组

Declare array before import statement.
in first.h file

NSMutableArray *arr1;
#import<UIKit/UIKit.h>
现在,无论何时何地,只要您想使用这个数组import.h文件,您就可以在其中声明这个数组并直接使用它,而无需创建任何对象


希望这对您有所帮助…

您可以创建全局数组或定义相同的@propertynonatomic,RetainnSumTableArray*imagesArray;在秒.h中,当你从第一个推到第二个,然后通过那个数组。所以你不需要分配第一视图。也许会有帮助
-(void) viewdidload {
    first *another = [[another alloc] init];
    label.text =  [NSString stringWithFromat:@"%i",[another.imagesArray count]];
    imageView.image = [another.imagesArray objectAtIndex:0];
}
@interface second {

    NSMutableArray *parentImagesArray;
}

@property(nonatomic, weak)NSMutableArray *parentImagesArray;
second *secondView = [[second alloc] init];
secondView.parentImagesArray = self.imagesArray; //assign the weak property.
label.text =  [NSString stringWithFromat:@"%i",[self.parentImagesArray count]];
imageView.image = parentImagesArray objectAtIndex:0];
second.array_object = first.array_name;
Declare array before import statement.
in first.h file

NSMutableArray *arr1;
#import<UIKit/UIKit.h>