Objective c NSMutableArray addObject不工作uitableview
我是一个刚开始的iPhone开发者 我有一个Objective c NSMutableArray addObject不工作uitableview,objective-c,uitableview,nsmutablearray,Objective C,Uitableview,Nsmutablearray,我是一个刚开始的iPhone开发者 我有一个UITableView,但在使用NSMutableArray时遇到问题 我已经分配并初始化了我的数组:dataArray我还连接了tableview的dataSource和delegate 这是我的代码: SecondViewControllerModel.m (addArray在用户按下按钮时被调用) SecondViewController.m 注意:我使用的是故事板和选项卡式视图应用程序,我只需要在iPad上运行它,如果这有什么不同的话 如果我没
UITableView
,但在使用NSMutableArray
时遇到问题
我已经分配并初始化了我的数组:dataArray
我还连接了tableview的dataSource
和delegate
这是我的代码:
SecondViewControllerModel.m
(addArray
在用户按下按钮时被调用)
SecondViewController.m
注意:我使用的是故事板和选项卡式视图应用程序,我只需要在iPad上运行它,如果这有什么不同的话
如果我没有提供足够的细节,或者你对代码有任何疑问,请留下评论
编辑:这是我的popover在xcode中的外观:
每次按下“圆形rect”按钮时,您都在创建一个新的
第二视图控制器
,向它传递一些数据,要求它执行某些操作,然后将其丢弃
您需要更新addArray:
方法,以便在现有第二视图控制器上调用addToArray:
当您按下条形按钮显示模式时,您可能应该通过将对第二视图控制器的引用传递给该模式来执行此操作
在SecondViewControllerModel.h中:
@property (weak, nonatomic) SecondViewController *owningSecondViewController;
在SecondViewController.m中:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"..."]) {
SecondViewControllerModal *modalViewController = (SecondViewControllerModal *)segue.destinationViewController;
modalViewController.owningSecondViewController = self;
}
}
最后:
- (IBAction)addArray:(id)sender
{
NSArray *content = [[NSArray alloc] initWithObjects:subjectName.text, setLetter.text, setOrder.text , nil];
[self.owningSecondViewController addToArray:content];
}
你查过NSLog声明了吗?内容有效吗?是数据阵列吗?setSubject?您在屏幕上的第二个视图控制器视图实际显示在哪里?如果您使用的是故事板,您可能不应该只alloc/init第二个视图控制器,而应该触发一个segue…您所说的是什么意思,但我很难让它与NSMutableArray一起工作?什么有效,什么无效?tableView没有更新吗?@没有更新。如果我在[tableview reloaddata]
上设置了一个断点,我可以看到dataArray在Xcode中没有对象,那么有什么不正常呢??解决问题的第一步是认识到问题是什么。啊,这是有道理的,但我如何通过当前的观点?抱歉,这里我的意思是我到底写了什么?我不会以编程方式添加我在界面生成器中创建的模式视图控制器。请将bar button方法中的代码添加到问题中。实际上,Second ControllerView中的addtoarray是按下add按钮时调用的方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"..."]) {
SecondViewControllerModal *modalViewController = (SecondViewControllerModal *)segue.destinationViewController;
modalViewController.owningSecondViewController = self;
}
}
- (IBAction)addArray:(id)sender
{
NSArray *content = [[NSArray alloc] initWithObjects:subjectName.text, setLetter.text, setOrder.text , nil];
[self.owningSecondViewController addToArray:content];
}