Iphone 通过xcode类访问数组

Iphone 通过xcode类访问数组,iphone,objective-c,xcode,cocos2d-iphone,Iphone,Objective C,Xcode,Cocos2d Iphone,在我的xcode项目中,每当我尝试使用: #import "Class1.h" NSMutableArray *array; @implementation Class2 Class1 *class = [Class1 new]; array = class.array; 假设在类1中有一个叫做数组的东西。 Xcode构建它就像没有错误一样。但是,当我运行它时,屏幕会闪烁class1上的内容,然后崩溃并给我一个错误。 我修正了一些其他代码。现在的错误是: [__NSArrayM objectA

在我的xcode项目中,每当我尝试使用:

#import "Class1.h"
NSMutableArray *array;
@implementation Class2
Class1 *class = [Class1 new];
array = class.array;
假设在类1中有一个叫做数组的东西。 Xcode构建它就像没有错误一样。但是,当我运行它时,屏幕会闪烁class1上的内容,然后崩溃并给我一个错误。 我修正了一些其他代码。现在的错误是:

[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array

抱歉,我是Obj-C的新手。

如果希望数组成为Class1的属性,则需要在Class1.h文件中执行以下操作:

@interface Class1

@property (nonatomic, strong) NSMutableArray *array;

@end

然后,您可以像您发布的代码一样访问数组。

设计代码。设计模式。这些应该首先决定,然后编码更简单

正如我所看到的,你正在创建一个全局数组!!!这不好。如果想要共享数组,请使用SingletonClass/SharedClass

或者你应该把
NSMutableArray*array
.h
文件中,并通过alloc+init对其进行访问

array = [class array];
此行不清楚,
[class array]
将返回Class1的数组,因此您必须在Class2中的NSArray中分配Class1的数组


如果Class2将数组作为属性,请使用
self.array=[classarray]

您想要做什么?您想要全局数组吗??或者像你在问题中描述的那样。@AnoopVaidya我添加了errormov。。。。是dubug部件,我询问控制台中是否有错误?请把你的完整密码贴出来。从这段代码中,很难检查您正在创建类的方法,以及您是否是alloc+init-ing-array等。@AnoopVaidya为了以防万一,这是一个CCNode(来自cocos2d)类。这会改变什么吗?new等同于alloc+init。这句话在Obj-C中完全正确。