Mengembangkan di iPhone (5): aplikasi pertama kami (III)

En artikel kami sebelumnya Kami telah menyertakan Label, BidangTeks dan Tombol di antarmuka aplikasi kami. Kami ingin konten Label diperbarui dengan apa yang dimasukkan di BidangTeks saat mengklik Tombol. Kami telah (langkah 1) membuat proyek, dan (langkah 2) menggunakan InterfaceBuilder untuk menentukan layar. Sekarang kita akan melanjutkan dengan langkah-langkah lainnya untuk membiarkan aplikasi berfungsi.

Langkah 3. Buat variabel di ViewController.

Kami memiliki antarmuka kami dengan benar. Faktanya, jika kami membuat Build & Go, kami dapat melihat performa kami:

Tapi jelas tidak ada yang terjadi saat menekan tombol, karena kami belum membuat perkembangan esensial minimum. Pada langkah 3 ini kita akan memperkenalkan variabel dan metode dalam HelloWorldViewController, baik dalam antarmuka (file .h) maupun dalam implementasi (file .m). Untuk melakukan ini, seperti yang kami tunjukkan di akhir posting sebelumnya, kita harus tahu bahwa TextField sesuai dengan kelas UITextField, dan Label ke kelas UILabel. 2 kelas ini berada dalam kerangka UIKit.

Jika kita belum menutup dan menyimpan Interface Builder, kita melakukannya dan di XCode kita membuka file HelloWorldViewController.h. Kode sekarang akan memiliki sesuatu seperti ini:

Kami sudah melihat beberapa Objective-C. Dalam kode ini kita melihat deklarasi impor pustaka UIKit, di mana kelas UILabel dan UITextField berada. Kita melihat bagaimana antarmuka dideklarasikan, dan itu meluas dari UIViewController umum dari UIKit.

Di dalam kode antarmuka kami menyertakan kode berikut:

Sekarang kami dapat menjelaskan apa yang telah kami lakukan:

  • Kami telah mendeklarasikan dalam atribut @interface blok 2 tipe UILabel dan UITextField, dengan 2 nama variabel * label dan * textField masing-masing. Di depan muncul IBOutlet. Ada apa ini? Kami menjelaskan diri kami sendiri. IBOutlet bukanlah jenis variabel; adalah arahan yang membantu Pembuat Antarmuka untuk mengetahui keberadaan variabel jenis UILabel dan UITextField ini. Ngomong-ngomong, ingat bahwa di artikel sebelumnya kami telah memberi Anda trik untuk mengetahui jenis variabel objek kontrol (tombol, label, kolom teks, dll.) Di Interface Builder. Di sisi lain, masalah * di depan nama variabel mungkin mengejutkan pemrogram Java, bukan C ... tetapi pelajari bahwa ini adalah cara Anda menulis variabel instan di Objective-C.
  • Properti UILabel dan UITextField dideklarasikan. nonatomik dan penyimpanan tidak akan kita lihat untuk saat ini, ini terkait dengan manajemen memori.
  • Kami melihat bahwa kami mendeklarasikan metode, updateText. Itu memiliki tanda - di depannya, menunjukkan bahwa itu adalah metode instance, dan bukan metode kelas (tanda + dijelaskan untuk mereka). Kita tidak dapat menjelaskan ini karena ini adalah pemrograman berorientasi objek dasar ... Metode itu tidak mengembalikan apa pun (yaitu, void) dan menerima parameter tipe id. Pada dasarnya ini mengacu pada pengenal objek yang akan menyebabkan panggilan ke metode updateTexto kami, yang akan memperbarui nilai label. Kita bisa menebak karena kontrol itu akan menjadi tombol itu sendiri ...

Setelah ini selesai, kita selesai dengan langkah 3.


Langkah 4. Mengikat Kontrol Tampilan ke Variabel Pengontrol.

Jika kami meninjau, di satu sisi kami telah mengembangkan antarmuka kami dengan Pembuat Antarmuka, dan di sisi lain kami memiliki variabel yang terkait dengan kontrol tersebut di HelloWorldViewController.h (antarmuka kelas pengontrol HelloWorldViewController.m). Namun, masih belum ada hubungan antara view dan controller, yaitu kita belum memberikan instruksi untuk mengaitkannya, misalnya field teks yang kita rancang di Interface Builder dengan variabel tipe UITextField yang telah kita taruh di kelas. Sekarang kita akan melakukan tugas ini. Kita membuka lagi Interface Builder dengan mengklik HelloWorldViewController.xib, klik pada kotak teks, dan di palet Inspector kita pergi ke tab kedua (Text Field Connections). Kami melihat bahwa ada bagian yang disebut Outlet Referensi, tanpa ada yang ditandai. Itu berarti bahwa saat ini Pembuat Antarmuka tidak mengetahui hubungan apa pun antara bidang teks ini dan IBOutlet (Outlet Pembuat Antarmuka) dari suatu kelas ... tetapi kami memiliki IBOutlet UITextField di HelloWorldViewController kami, jadi kami akan menautkannya.

Untuk melakukan ini, seperti yang bisa kita lihat pada gambar, dengan mengklik lingkaran kecil di sebelah «Outlet Referensi Baru», kita tarik ke Pemilik File dari jendela bernama HelloWorldViewController.xib. Ini akan membiarkan kita memilih 2 opsi, view (tampilan penuh) dan textField (variabel kita). Jelas kami memilih textField, dan dengan demikian kami menghubungkan kotak teks kami dengan variabel jenisnya UITextField. Ngomong-ngomong, File'sOwner atau pemilik file tidak lebih atau kurang dari kelas pengontrol kami ...

Kami mengulangi operasi dengan label, menghubungkannya dengan label variabel pengontrol kami. Dan dengan tombolnya, itu adalah sesuatu yang berbeda. Dalam hal ini kami akan mengaitkannya dengan operasi updateTexto kami, tetapi untuk acara tertentu. Lakukan ini dengan acara 'Touch Up Inside', dan pilih metode updateTexto kami:

Dan dengan cara ini kita telah menghubungkan kontrol yang telah kita definisikan dengan Interface Builder dan variabel yang telah kita masukkan ke dalam controller. Kami menutup Interface Builder menyimpan semuanya dan kami pergi ke langkah terakhir kembali ke XCode.

Langkah 5. Perkembangan terbaru.

Di XCode kami membuka HelloWorldViewController.my dan kami meletakkan kode berikut sehingga kelas kami terlihat seperti ini:

Jika kita melihat lebih dekat kita hanya meletakkan blok @synthesize, dan implementasi metode yang dideklarasikan dalam antarmuka .h, updateTexto. Di bawah kode itu Anda akan memiliki banyak kode yang diberi komentar.

Garis @synthesize melakukan sesuatu yang mirip dengan menghasilkan getter / setter (pengakses / mutator) tipikal dalam bahasa OO (enkapsulasi). Kami membutuhkannya agar pengontrol mencapai konten, misalnya, dari kotak teks.

Metode updateTexto, seperti yang Anda lihat, cukup memperbarui teks label kami dengan konten bidang teks. Kami selesai.

Sekarang, kita cukup melakukan Build & Go, dan Anda akan melihat bahwa ketika Anda memasukkan string teks dan mengklik tombol, konten label diperbarui. Pada artikel selanjutnya kami akan memperkenalkan perbaikan pada aplikasi kami.


Ikuti kami di Google Berita

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Petrus dijo

    Tutorial yang sangat bagus, sangat jelas dan sederhana.

  2.   rubdottocom.dll dijo

    Yah, saya pasti sangat melon 🙁 karena itu tidak berhasil untuk saya. Saya telah menangkap nilai dalam String dan mengambil teks tetapi tidak menugaskannya ke label, setidaknya tidak melukisnya, karena saya mencoba melihat label.text dan memberi tahu saya di luar ruang lingkup ...

  3.   leo2279 dijo

    Sempurnakan tutorial Anda, itu benar-benar menjelaskan dengan sangat baik perkembangan ini untuk iphone, saya harap Anda terus menerbitkan lebih banyak tutorial.

    salam

  4.   Mariano dijo

    Hai, semuanya keren, tapi tidak berhasil. Untuk membuatnya bekerja, saya harus menautkan tampilan pembuat antarmuka dengan tampilan di kubus, seperti yang Anda ajarkan tentang bidang teks dan label. Selebihnya terima kasih banyak.