1

我正在为应用商店开发我的第一个应用。我以前做过编程,但这是我的第一个 iOS 应用程序。

我的问题需要解释一下:我得到了这个基于 tableviews 的应用程序。它由以下部分组成:我的主屏幕(屏幕 A)、添加项目屏幕(屏幕 B)、详细屏幕(屏幕 C)和最后一个添加详细项目屏幕(屏幕 D)。

我所有的屏幕都从屏幕 A 开始。屏幕 A 由一个带有对象的数组组成。每个对象都包含一个细节数组。当您触摸屏幕 A 中的行/对象时,您将转到屏幕 C,您可以在其中查看给定行/对象的所有详细信息。

我让我的代表在屏幕 A 和屏幕 B 之间工作。

但是让我头疼的是,当我想向屏幕 A 中的给定对象添加详细信息时。我希望能够向屏幕 A 中的对象添加详细信息对象,但是当对象数组已经在数组中时,如何访问它?

- (void)addBudgetViewController:(AddBudgetViewController *)controller didFinishAddingItem:(Budgets *)budget
{

int newRowIndex = [self.dataModel.budgetsList count];
[self.dataModel.budgetsList addObject:budget];

NSLog(@"Budget added");

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:newRowIndex inSection:0];
NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];

[self dismissViewControllerAnimated:YES completion:nil];

}

下面是我如何将屏幕 B 中的项目添加到屏幕 A。我的 budgetsInList 是屏幕 A 中的一个可变预算数组。但是如果我想将项目添加到budgetsInList 数组中的对象数组中,代码看起来如何?

屏幕

数组

数组 A 是您可以在屏幕 A 中看到的预算列表。数组 B 是数组 A 内的数组(也是可变的)。屏幕 B 和 D 是将预算添加到屏幕 A 并将项目添加到屏幕 C。

- (void)addItemViewController:(AddItemViewController *)controller didFinishAddingItem:(Item *)item
{
int newRowIndex = [self.budgets.items count];
[[self.dataModel.budgetsList objectAtIndex:newRowIndex] addObject:item];

NSLog(@"Item with name %@ added", item.name);

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:newRowIndex inSection:0];
NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];

[self dismissViewControllerAnimated:YES completion:nil];

}

这是我目前正在尝试的,但这不起作用,因为我将项目对象添加到预算数组的budgetsList 数组中。我想要的是将项目对象添加到项目数组(数组 B)中。但是我该怎么做呢?

希望这有助于一些图片。:-)

谢谢问候安德斯·H·奥普斯特鲁普

4

2 回答 2

0

如果数组 A 是一个数组数组,则 [arrayA objectAtIndex:0] 例如,将为您提供第一个数组(您的解释中的数组 B)。因此,要将对象添加到 arrayA 中的第一个数组,只需执行以下操作:

[[arrayA objectAtIndex:0] addObject:anObject];
于 2012-10-30T04:20:07.917 回答
0

我不得不承认这很难理解你的问题,无论如何我试图回答一些似乎很清楚的问题:

但是,如果我想将项目添加到budgetsInList 数组中的对象数组中,代码看起来会是什么样子?

让我们有这两个数组:

数组 A 和数组 B,都是可变的。

如果我理解,您的情况或多或少是这样的:数组 B 是数组 A 中的一个对象(示例中的唯一一个),并且您想将一个对象添加到数组 B

[[arrayA objectAtIndex:index_of_array_b_in_a] addObject:the_object_you_want_add]

让我知道这是否是您的问题。

于 2012-10-29T20:34:53.680 回答