0

私はiPhoneアプリケーションを開発していますが、ビューでは、同じ場所に配置UITextViewしました。私がする必要があるのは、テキストビューにデータを入力した後、ユーザーは下に配置されたボタンをクリックすることです。ボタンをクリックした後、テキストビューに入力されたデータがテーブルビューにロードされます。しかし、それはそうではありません。UITableViewViewController

ここで、私が行ったことは、ボタンアクション内に以下のコードを記述したことです。

[self.tableView reloadData];

どんな提案も大歓迎です

4

2 に答える 2

3

NSMutableArrayにデータを入力するために使用している新しい値でを更新していることを確認してくださいUITableView

ボタンをクリックすると、

[arrValues addObject:txtBox.text];
[self.tableView reloadData];
于 2012-10-09T06:57:48.140 に答える
1

このメソッドは、のrowCountを処理しますTableView

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [arrayData count];
}

そして、この方法はあなたの細胞を作り、細胞データを表示します。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

したがって、使用しているものを追加textField.textする必要があり ますarraynumberOfRowsInSection:cellForRowAtIndexPath:

-(void)buttonClick:(id)sender
 {
     [arrayData addObject:textField.text];
     [self.tableView reloadData];
 }

また、空にしtextField.textないでください。空にしないと、データが表示されなくなります。メソッドを呼び出した後、[self.tableView reloadData]すべてのtableViewデリゲートメソッドが再度呼び出され、arrayDataのが増加numberOfRowsしますtableView

編集: コメントで言っているように、ビューをナビゲートしているので、毎回viewDidLoad:呼び出され、配列には同じオブジェクトがあります。同じオブジェクトを維持viewDidLoad:したい場合は、静的に初期化しないでください。データをinメソッドに保存し、を追加する前にinメソッドを更新します。arrayobjectsplistDatabasearrayDatabaseviewDidDisappear:arrayviewWillAppear:tableView

于 2012-10-09T07:10:36.563 に答える