0

我知道这听起来像是一个愚蠢的问题,现在很多人会开始告诉我,我需要阅读有关属性如何工作的苹果文档,搜索类似问题并将其作为重复项关闭等等……我做了一些搜索,尝试阅读苹果文档,但仍然无法弄清楚我的代码有什么问题,并会感谢一些帮助......

我在 PrefMySpotsViewCtrl 类的相应 .h 和 .m 中定义了 NSMutable 数组,如下所示:

NSMutableArray *mySpotsArray;

@property (nonatomic, retain) NSMutableArray *mySpotsArray;

@synthesize mySpotsArray;

当我从同一个类中 NSLog 这个数组时,如下所示:

NSLog(@"in class: %@", mySpotsArray);

一切正常。我正在尝试从另一个类中 NSLog 这个数组,如下所示:

PrefMySpotsViewCtrl *PrefMS = [[PrefMySpotsViewCtrl alloc] init];
NSLog(@"%@", [PrefMS mySpotsArray]);

它显示为空。

我究竟做错了什么?

谢谢你。

编辑 ...

我像这样初始化数组:

- (id)init
{
self = [super init];
if (self)
{
    mySpotsArray = [[NSMutableArray alloc]init];
}

return self;
}

像这样添加、删除对象:

/-----------------------------------------
- (IBAction)addSpot:(id)sender
{
[mySpotsArray addObject:[[MySpots alloc]init]];
[mySpotsTable reloadData];

[self saveMySpots];
}




//-----------------------------------------
- (IBAction)deleteSpot:(id)sender
{
NSInteger row = [mySpotsTable selectedRow];
[mySpotsTable abortEditing];
if (row !=-1)
{
    [mySpotsArray removeObjectAtIndex: row];
}

[mySpotsTable reloadData];

[self saveMySpots];
 }
4

1 回答 1

2

这个...

PrefMySpotsViewCtrl *PrefMS = [[PrefMySpotsViewCtrl alloc] init];

...创建一个新对象。它的数组中不会有任何MySpots对象,直到调用addSpot:. 您的数组中可能有不同的PrefMySpotsViewCtrl对象这一事实不会影响您刚刚创建的对象。MySpots

于 2012-09-19T16:52:07.733 回答