访问对象的NSMutableArray

时间:2010-07-28 21:14:25

标签: iphone nsmutablearray

我发布此主题是因为我的iPhone应用程序出现问题3天后出现问题。我希望有人可以帮助我,因为我疯了。

这就是:我在我的应用程序的委托中用XML Parser填写一个对象userXMLData。该对象包含许多NSStrings和一个NSMutableArrays,其中包含对象类型Album to。

我的问题是:我可以用内部函数显示userXMLData的所有数据,但是当我试图从我的viewController中的数组中获取数据时,它不起作用。我的意思是,它崩溃了。这很奇怪,因为我可以访问appDelegate.userXMLData.NSString但不能访问我的appDelegate.userXMLData.NSMutableArray

这是我的代码:

// Initializaiton in the delegate
userXMLData = [[UserXMLData alloc] init];
userXMLData.myArray = [[NSMutableArray alloc] init];

UserXMLData.h

@interface UserXMLData : NSObject {
    // User Data
    NSString *userId;
    // Content
    NSMutableArray *myArray;
}

@property(nonatomic, retain) NSString *myString;
@property(nonatomic, copy) NSMutableArray *myArray;

@end

// Album.h

@interface Album : NSObject {
    NSString *albumId;
    NSMutableArray *content;
}

@property(nonatomic, retain) NSString *albumId;
@property(nonatomic, retain) NSMutableArray *content;

@end

正如我所说,我真的不知道为什么会崩溃。我被卡住了,如果不修理它我就无法继续申请。

2 个答案:

答案 0 :(得分:0)

如果您显示尝试访问阵列的代码以及崩溃时收到的错误,将能够更好地回答,但我猜测您没有@synthesize myArray实现(.m)文件

答案 1 :(得分:0)

按照此处的说明启用Zombies:

http://loufranco.com/blog/files/debugging-memory-iphone.html

这会导致您的应用不会释放任何对象,而是会在发布消息后向他们发送消息。

崩溃的最常见原因是过于频繁地释放(或保留太少次)。

此外,运行Build and Analyze有时可以指出这些。