我正在使用 SplitViewController 制作一个小型 iPad APP,我主要在 DetailViewController 上使用 MasterViewController。我正在尝试将一些数据从 DetailViewController 推送到 MasterViewController。将信息推送到 MasterViewController 后,我想使用它,因此我使用 pop 方法来执行此操作。
push 方法填充数组 - 但由于某种原因,每次调用该pushModuleTitle
方法时都会重新创建我的数组,并且一次只保存一个对象。
在里面DetailViewController.m
- (IBAction)buttonAddPressed:(id)sender
{
cw3MasterViewController *master = [[cw3MasterViewController alloc]init];
[moduleTitles addObject:textFieldModuleTitle.text];
[master pushModuleTitle:self.textFieldModuleTitle.text];);
}
在里面MasterViewController.m
- (NSMutableArray *)moduleTitleStack//init array
{
if (!_moduleTitleStack){
_moduleTitleStack = [[NSMutableArray alloc] init];
}
return _moduleTitleStack;
}
-(void)pushModuleTitle:(NSString*)moduleTitile
{
NSString * moduleTitileObject = moduleTitile;
[self.moduleTitleStack addObject:moduleTitileObject];
NSLog(@"%@",self.moduleTitleStack);
}
所以要使用推送的信息,我正在使用这个 pop 方法: - 但这总是返回一个空值,当我放置一个断点时,它表明我的 moduleTitleStack 有 0 个对象。我不确定为什么。
-(NSString *)popModuleTitle
{
NSString * moduleTitileObject = [self.moduleTitleStack lastObject];
if (moduleTitileObject)[self.moduleTitleStack removeLastObject];
return moduleTitileObject;
}
调用 popModuleTitle 方法:给出一个空值
- (IBAction)testButtonPressed:(id)sender {
NSLog(@"%@", [self popModuleTitle]);
}