-1

私は Obj-c プログラミングの初心者です。合計を作成するためだけに、2つのテキストボックス、上部のボタンを表示するViewControllerで構成されるiPadアプリケーションを作成しています。

同じ Viewcontroller に、TableView と Button があります。この Tableview には最初に要素が表示されますが、ボタンをクリックするだけでこのリストを更新したいと思います。

リストを更新するボタン(タッチダウンイベント)にリンクされている機能を「listaPDF」と呼びます。

Viewcontroller.h

#import <UIKit/UIKit.h>

@interface VPViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
    IBOutlet UITextField *txtPrimoAddendo ;
    IBOutlet UITextField *txtSecondoAddendo ;
    IBOutlet UILabel *lblTotale ;
    IBOutlet UITableView *tabella;
    NSMutableArray *lista;
   }

@property (nonatomic, retain) IBOutlet UITextField *txtPrimoAddendo;
@property (nonatomic, retain) IBOutlet UITextField *txtSecondoAddendo;
@property (nonatomic, retain) IBOutlet UILabel *lblTotale;
@property (nonatomic, retain) IBOutlet UITableView *tabella;
@property (nonatomic, retain) NSMutableArray *lista;

-(IBAction)somma ;
-(IBAction)listaPDF;

@end

Viewcontroller.m

    #import "VPViewController.h"

    @interface VPViewController ()

    @end

    @implementation VPViewController

    -(void)somma {

    int x = [[txtPrimoAddendo text] intValue];
    int y = [[txtSecondoAddendo text] intValue];
    int somma = x + y ;

    NSString *totale = [NSString stringWithFormat:@"La somma fa : %d", somma];

    [lblTotale setText:totale];
    [lblTotale setHidden:FALSE];


    }
    - (void)listaPDF {

    int contatore = 1;

    NSArray *dirFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle mainBundle] resourcePath] error: nil];
    for (int i = 0; i < dirFiles.count ; i++) {

        NSString *files = dirFiles[i];
        int indice = files.length - 4 ;
        NSString *extension = [files substringFromIndex:indice];

        if([extension  isEqual: @".pdf"]) {

            NSLog(@"********* File PDF : %@", files);
            [lista insertObject:files atIndex:contatore];
            contatore++;
        }
    }
    [tabella reloadData];

    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return [lista count];
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    static NSString *simpleTableIdentifier = @"CellID";

    UITableViewCell *cell = [tabella dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }
    cell.imageView.image = [UIImage imageNamed:@"pdf.png"];
    cell.textLabel.text = [lista objectAtIndex:indexPath.row];
    return cell;
    }


    - (void)viewDidLoad
    {
        tabella.delegate = self;
        tabella.dataSource = self;

        tabella = [[ UITableView alloc] init];
        lista = [[NSMutableArray alloc] init];

        [lista insertObject:@"FIRST ELEMENT" atIndex:0];


    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    }

    - (void)didReceiveMemoryWarning
    {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];
    return YES;
}

@synthesize lblTotale;
@synthesize txtPrimoAddendo;
@synthesize txtSecondoAddendo;
@synthesize tabella;
@synthesize lista;


@end

ありがとう

4

2 に答える 2