-3

と がUITextFieldありUITableViewますUIButtonUITextField以下に示すように、 inの値を格納していNSStringます。「完了」を押すと、 の最初のセルUIButtonの値を保存したいと思います。新しい文字列を入力してプロセスを繰り返すと、値が2番目のセルに格納されるなど..NSStringUITableviewUITextField

NSString *cellValues = textField.text;


- (UITableViewCell *)tableview:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *) indexPath
{
                SampleTableview *cell;

}
4

1 に答える 1

0

クラスにプロパティを設定できます (およびプロトコルNSMutableArrayに準拠する必要があることに注意してください)。UITableViewDelegateUITableViewDataSource

@interface viewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, strong) NSMutableArray *listOfStrings;
@end

UITableViewメソッドで配列を正しく設定していることを確認してくださいviewDidLoad(オブジェクトをストーリーボードにドラッグ アンド ドロップしたTable View Controller場合は、これを行う必要はありません)。

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.listOfStrings = [[NSMutableArray alloc]init];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
}

tableViewデリゲート メソッドを次のように設定します。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    cell.textLabel.text = [self.listOfStrings objectAtIndex:indexPath.row];
    return cell;
}

次に、 を押すとUIButton、呼び出されるメソッドがUITextFieldテキストを配列に追加し、 をリロードする必要がありますtableView

- (void)buttonPressed{
    [self.listOfStrings addObject:self.textField.text];
    [self.tableView reloadData];
}

お役に立てれば。

于 2013-10-10T23:55:32.610 に答える