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