Belajar iOS IBOutlet dan IBAction

Disini kita akan belajar mengenai IBOutlet dan IBAction.

  1. Buka Xcode lalu pilih create a new  Xcode project
  2. Pilih single view application
  3. Buat nama projectnya, lalu yang di centang hanya Automatic Reference Counting (ARC).

Ok disini kita akan membuat app iOS  yang simple dengan mempersiapkan label kosong, textfield, dan button. Ketika mengisi sebuah text field dengan name “hello world” lalu diklik maka akan menampilkan dilabel text “hello world”.

Buat designnya terlebih dahulu, dengan drag drop, Label, textfield dan button.

Screen Shot 2013-08-03 at 10.08.21 PM

Buka ViewController.h tambahkan seperti berikut:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
IBOutlet UITextField *name;
IBOutlet UILabel *label;
}

- (IBAction)buttonPress:(id)sender;

@property (nonatomic, strong) IBOutlet UITextField *name;
@property (nonatomic, strong) IBOutlet UILabel *label;

@end

Buka ViewController.m, Tambahkan jadi seperti berikut:

#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController

@synthesize name, label;

- (void)viewDidLoad
{
[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.
}

- (IBAction)buttonPress:(id)sender
{
}
@end

Sekarang buka ViewController.xib

Klik kanan di file’s Owner, sekarang property yang kita buat sudah muncul, selanjutnya kita tarik masih2 propery ke interface yang sesuai.  Tarik label ke label yang telah dibuat, tarik name ke textfield dan pada Received Action pilih buttonPress tarik ke button yang telah kita buat  lalu pilih Touch Up Inside.

Screen Shot 2013-08-03 at 10.15.21 PM

Buka kembali ViewController.m, Pada method buttonPress tambahkan seperti berikut:

- (IBAction)buttonPress:(id)sender
{
   label.text = name.text;
}

Hasilnya seperti berikut

Screen Shot 2013-08-03 at 10.28.12 PM

Karena method diatas ketika diklik maka yang terjadi adalah label akan sama dengan name(Textfield).