Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何从一个视图访问/打印NSMutableArray元素到另一个视图?_Iphone_Objective C_Nsmutablearray - Fatal编程技术网

Iphone 如何从一个视图访问/打印NSMutableArray元素到另一个视图?

Iphone 如何从一个视图访问/打印NSMutableArray元素到另一个视图?,iphone,objective-c,nsmutablearray,Iphone,Objective C,Nsmutablearray,我在view1中有一个名为mArray的NSMutableArray,它存储了一些字符串。 现在我想在view2中访问/打印/比较这些元素。 请指导我。view1。mArray应该可以 请注意@synthesis查看1中的mArray。 在控制台中打印阵列的步骤 NSLog(@"mArray from view 1 is %@",view1.mArray); 如果view2在view1中显示,则可以将其作为view1的属性传递 如果两者位于同一级别,由超级视图控制器生成,则拥有超级控制器属性中

我在
view1
中有一个名为
mArray
NSMutableArray
,它存储了一些字符串。 现在我想在
view2
中访问/打印/比较这些元素。
请指导我。

view1。mArray
应该可以

请注意
@synthesis
查看1中的
mArray
。 在控制台中打印阵列的步骤

NSLog(@"mArray from view 1 is %@",view1.mArray);

如果view2在view1中显示,则可以将其作为view1的属性传递

如果两者位于同一级别,由超级视图控制器生成,则拥有超级控制器属性中的数组并将其传递给视图


您还可以实现单个实例并将模型作为单个实例共享,直接在视图中访问。

在view1类中为marray编写属性合成。然后在view2中创建view1对象并用作view1对象。marray

我建议您的视图位于不同的
视图控制器中。有几种:

  • 为目标viewcontroller创建属性,并在创建
    VC
    实例后设置数组
  • 使
    -(id)initWithArray:(NSMutableArray*)数组viewcontroller的方法
  • 在整个项目中使用singleton
  • 建议:

    您可以将该数组放在控制器类中,它们都可以访问该类


    如果必须在视图之间共享数据,则在控制器中共享数据总是比在视图中共享数据更好。

    Hi,与我所做的完全相同,但在view1中,我想在view2中打印数组值。显示一些,以便我们可以看到错误。我想你还没有分配和填充mArrayPut代码在AAAA的评论。请参考这里。您好,我已经实现了这一点,但在控制台上打印view1object.marray时,其打印为null.use nslog(@“对象是%@”,view1.objects);ya其分配正确,也打印值,但在view1、、、和view2中,其打印为空。这主要是由于view1:for(int i=0;i<6;i++)中未正确分配([self.recipiName insertObject:[NSString stringWithFormat:@“cookingType%d”,i+1]atIndex:i];NSLog(@“recipiName element%@”,recipiName);}在视图2中:NSLog(@“element%@”,view2.recipiName);你解决问题了吗?请标记正确答案,将此帖子标记为已回答。