-1

我有一个分配 ViewController 和一个 TableViewController。

分配视图控制器接受输入并将信息保存在对象中。

我需要的是,使用委托,提醒 tableviewcontroller 创建了分配,并让 tableviewcontroller 将对象添加到 NSMutableArray,并将其存档。

这似乎很容易,但我很难理解代表团。

这是保存方法 - AssignmentViewController.m :

- (IBAction)Save:(UIButton *)sender {
self.homeworkAssignment = [[Homework alloc] init];

self.homeworkAssignment.className = self.ClassNameField.text;
self.homeworkAssignment.assignmentTitle = self.AssignmentTitleField.text;
self.homeworkAssignment.assignmentDiscription = self.DiscriptionTextView.text;
self.homeworkAssignment.pickerDate = self.DatePicker.date;

 NSMutableArray *MyHomeworkArray = [[NSMutableArray alloc] init];
[MyHomeworkArray addObject:self.homeworkAssignment];


 NSString *filePath = [self dataFilePath];
//Archive my object
[NSKeyedArchiver archiveRootObject:MyHomeworkArray toFile:filePath];
}

我的保存方法当前保存信息、添加到数组和存档。但是我需要在我的 TableViewController 和我的 AssignmentViewController 之间使用委托,并在按下保存时提醒我的 tableViewCONtroller,然后将其添加到数组并自行存档。

有人可以帮我使用委托正确设置吗?

4

1 回答 1

0

在 UITableViewController 中为您的数组添加属性:

@property (nonatomic,retain) NSMutableArray *homeworkArray;

现在保存方法:

-(IBAction)Save:(UIButton *)sender {

   UITableViewController *tabVC = [[UITableViewController alloc] init];
   tableVC.homeworkArray = self. 我的家庭作业数组;// 向表格视图发送消息
   [self.navigationcontroller pushViewController:tableVC];
}

现在在 TableViewController 中,您需要设置覆盖您的数据源方法以在单元格上显示文本

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    返回 [self.homeworkArray 计数];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    静态 NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // 配置单元格...
    如果(!细胞){
        单元格 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    //在此处更新您的单元格
    cell.textLabel.text = self.homeworkAssignment.className
    cell.detailTextLabel.text = self.AssignmentTitleField.text;
    返回单元格;
}

于 2013-10-13T22:14:41.430 回答