我有一个FirstViewControlloller,我有一个开始和停止按钮。按下开始时,使用AVCaptureSession拍摄照片,直到按下停止按钮。处理这些图片并将每张图片的信息(RGB的R值分量)存储在名为Yaxis的NSMutableArray中。
添加到此视图我有一个ContainerView。在这个视图中,我想继续显示我的Yaxis数组中的信息图。问题是要获得这些信息。
我的代码的某些部分如下:
FirstViewController.h
@property (nonatomic, strong) NSMutableArray *Yaxis;
FirstViewController.m
-(void)viewDidLoad{
Yaxis=[[NSMutableArray alloc] init];
[super viewDidLoad];
}
在代码对象的另一个地方不断添加到" Yaxis"照片拍摄。
[Yaxis addObject: RGB];
这很好用,因为只要我在FirstViewController中访问填充信息的数组就没有问题。
为了能够使用这些信息来更新我的图形,我试图在我的ContainerViewController中创建FirstViewController的对象,并以这种方式到达我的Yaxis数组。
ContainerViewController.m
FirstViewController * myView=[[FirstViewController alloc] init];
myView.Yaxis
当我这样做时,Yaxis为空。据我所知,问题是我创建了一个FirstViewController的新对象,因此我无法访问实际上是另一个对象的一部分的填充数组。那么如何从我的ContainerViweController类中连接到保存我填充的Yaxis数组的对象?
Access NSMutableArray from another class - Objective C
我发现这个问题接缝可以解决同样的问题,但我没有使用那里的答案来解决我的问题。
答案 0 :(得分:0)
您在-(void)viewDidLoad
中初始化数组。但是,在第二个代码段中,该方法不会被调用。尝试将Yaxis=[[NSMutableArray alloc] init];
行添加到init
方法
答案 1 :(得分:0)
当您手动创建新的FirstViewController时,这是一个与原始对象无关的新对象,并且可变数组属性最初为nil。 新的VC不会神奇地指向显示的那个。此外,VC可能会销毁,并释放数组。
如果在VC之间共享,则应将此数据的存储分隔在另一个对象中。