我是iPhone初级开发人员。
我有UITableView
,但我无法使用NSMutableArray
。
我已经分配并初始化了我的数组:dataArray
我还连接了我的tableview dataSource
和delegate
。
这是我的代码:
SecondViewControllerModal.m
@implementation SecondViewControllerModal
-(IBAction)addArray:(id)sender
{
NSArray *content = [[NSArray alloc] initWithObjects:subjectName.text, setLetter.text, setOrder.text , nil];
SecondViewController *c=[[SecondViewController alloc] init];
[c addToArray:content];
}
...
(当用户按下按钮时调用addArray
)
SecondViewController.m
-(void)addToArray:(NSArray *)content {
NSString *setSubject = [content objectAtIndex:0];
NSString *setLetter = [content objectAtIndex:1];
NSString *setOrder = [content objectAtIndex:2];
[dataArray addObject:setSubject];
[tableView reloadData];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [dataArray count];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
[self->tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier];
}
// Configure the cell...
cell.textLabel.text = [dataArray objectAtIndex:indexPath.row];
return cell;
}
注意:我使用的是故事板和标签式视图应用程序,如果有任何不同,我只需要在iPad上运行它。
如果我没有提供足够的详细信息,或者您对代码有任何疑问,请发表评论。
编辑:这就是我的popover在xcode中的样子:
答案 0 :(得分:1)
每当你按下'圆形矩形'按钮,你就会创建一个新的second view controller
,传递一些数据,要求它做某事然后把它扔掉。
您需要更新addArray:
方法,在现有 addToArray:
上致电second view controller
。
你应该通过将second view controller
的引用传递给模态来实现这一点,当你按下条形按钮显示它时。
在SecondViewControllerModal.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];
}