在整个类xcode中访问数组

时间:2012-12-22 02:39:49

标签: iphone objective-c xcode cocos2d-iphone

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

#import "Class1.h"
NSMutableArray *array;
@implementation Class2
Class1 *class = [Class1 new];
array = class.array;

假设Class1中有一个叫做数组的东西。 Xcode构建它就像没有错误一样。但是,当我运行它时,屏幕会在崩溃之前闪烁class1上的内容并给我一个错误。 我修改了一些其他代码。现在错误是:

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

对不起,我是Obj-C的新手。

2 个答案:

答案 0 :(得分:0)

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

@interface Class1

@property (nonatomic, strong) NSMutableArray *array;

@end

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

答案 1 :(得分:0)

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

我可以看到你正在创建一个全局阵列!哪个不好。如果你想要一个共享数组,请使用SingletonClass / SharedClass。

或者你应该将NSMutableArray *array;放在.h文件中并使用alloc + init来访问它。

array = [class array];

这一行不清楚,[class array]将返回Class1的数组,因此您必须在Class2中使用NSArray来分配Class1的数组。

如果Class2将数组作为属性使用self.array=[class array];