我有一个类的NSMutableArray,在其他类中,我想对其进行初始化并添加各种对象。但是问题是NSMutableArray没有保留元素。我有以下代码:
-(void)viewDidLoad
{
[super viewDidLoad];
MyStops *myStops = [self.storyboard instantiateViewControllerWithIdentifier:@"My Stops"];
myStops.myStopsMArray = [[NSMutableArray alloc] init];
}
和这个:
- (void) addToFavourites:(id)sender
{
UITapGestureRecognizer *gesture = (UITapGestureRecognizer *) sender;
NSInteger tag = gesture.view.tag;
UITableViewCell *cell = [stopsTable dequeueReusableCellWithIdentifier:@"cell"];
MyStops *myStops = [self.storyboard instantiateViewControllerWithIdentifier:@"Mis Paradas"];
[myStops.myStopsMArray addObject:[stopsArray objectAtIndex:tag]];
}
在另一个文件中,我声明并合成了NSMutableArray:
//Header file
@property (nonatomic, retain) NSMutableArray *myStopsMArray;
//Implementation file
@synthesize myStopsMArray;
你能告诉我我在做什么错吗?
谢谢!
最佳答案
instantiateViewControllerWithIdentifier
每次创建并返回NEW INSTANCE!
因此,您必须直接指向该视图控制器。
在当前类的头文件中,创建一个类似以下的属性:@property (strong, nonatomic) MyStops *myStopsVC;
注意:
如果您当前的ViewController已从strong
呈现,则将weak
更改为MyStops
。但是,如果要从此vc推送/显示MyStops,则将其保留为strong
指针。