1

私はiOSプログラミングでかなり新しいです、私はこの予算のアプリを作ろうとしています。予算クラスのインスタンスクラスをテーブルビューに追加したいと思います。しかし、完了ボタンを押すと、このエラーが発生します。私は自分の問題に対する答えをフォーラムで探してきました。

だから私が見つけた運賃は私と同じ問題をどのように抱えていますか(http://stackoverflow.com/questions/11706254/nsinternalinconsistencyexception-reason-attempt-to-insert-row-0-into-section?answertab=active#tab -top)しかし、その投稿で私の問題に対する明確な答え/解決策を実際に得ることはできません。

このエラーが発生する理由はわかっていると思いますが、どうすれば解決できますかわかりません:-(この問題の解決を手伝ってくれる人はいますか?

コードの写真を投稿したいのですが、スパムの保護のため、stackoverflowでは許可されません。

AddBugdetViewController.m

(IBAction)done
{
    [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

    Budget *budget = [[Budget alloc] init];
    budget.name = self.textField.text;
    budget.amount = [Budget convertStringToNSNumber:self.textField.text];

    [self.delegate addBudgetViewController:self didFinishAddingItem:budget];
}

BudgetViewController.m

(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.budget.items count];
}

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Budgets"];

    Budget *item = [self.budget.items objectAtIndex:indexPath.row];

    [self configureTextForCell:cell withChecklistItem:item];

    return cell;
}

- (void)addBudgetViewController:(AddBudgetViewController *)controller didFinishAddingItem:(Budget *)NewBudget
{
    NSLog(@"Adding budget: %@", NewBudget.name);
    NSLog(@"Budget amount: %@", NewBudget.amount);

    [self.tableView beginUpdates];

    int newRowIndex = [self.budget.items count];
    [self.budget.items addObject:NewBudget];

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

    [self.tableView endUpdates];

    [self dismissViewControllerAnimated:YES completion:nil];
}

問題を追跡して解決するためにさらに情報が必要な場合は教えてください:-)

乾杯アンダース

4

1 に答える 1

1

BudgetViewControllerは、「budget」という名前のプロパティを定義しているように見えます。BudgetViewControllerを作成および表示するコードはすべて、そのプロパティをViewControllerに表示する予算オブジェクトに設定する必要があります。

于 2012-10-11T20:00:27.523 に答える