Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Mobile Development
Code

Membina Aplikasi Senarai Beli-belah Dari Scratch: Bahagian 2

by
Length:LongLanguages:
This post is part of a series called Learn iOS SDK Development From Scratch.
Building a Shopping List Application From Scratch: Part 1
Where To Go Next

Malay (Melayu) translation by Taufan Prasetyo Basri (you can also view the original English article)

Dalam mengurangkan sebelumnya, kami meletakkan asas untuk aplikasi senarai membeli-belah. Di bahagian pertama pelajaran ini, kami akan terus memperbaiki permohonan dengan membolehkan pengguna mengedit dan memadamkan item dari senarai. Di bahagian kedua pelajaran ini, kami menambah kemampuan untuk memilih item dari senarai untuk membuat senarai belanja.


Garis Besar

Seperti yang saya sebutkan dalam artikel sebelumnya, salah satu ciri teras aplikasi senarai membeli-belah adalah mengurus senarai item. Kami telah melakukan pekerjaan yang hebat setakat ini, tetapi pengguna harus mempunyai keupayaan untuk mengedit dan memadam item dari senarai, yang akan menjadi tumpuan bahagian pertama tutorial ini. Di bahagian kedua, kami akan melaksanakan ciri teras kedua aplikasi senarai membeli-belah, mencipta senarai membeli-belah dengan memilih item dari senarai item.


9. Memadamkan Item

Memadam item dari senarai merupakan tambahan penting dari segi pengalaman pengguna dan kegunaan keseluruhan. Menambah keupayaan ini melibatkan:

  1. mengeluarkan item dari item pengawal paparan harta
  2. mengemas kini paparan jadual
  3. menyimpan perubahan pada cakera

Mari lihat bagaimana ini berfungsi dalam amalan.

Kita perlu menambah butang edit ke bar navigasi terlebih dahulu. Dalam kaedah melihat viewDidLoad pengawal, buat contoh UIBarButtonItem dan serahkannya ke hak kananBarButtonItem dari navigasiPemilik navigasiItem.

Seperti dalam pelajaran terdahulu, kami membuat item butang bar dengan memanggil initWithBarButtonSystemItem: target: action: method inisialisasi. Parameter pertama yang kami lulus adalah UIBarButtonSystemItemEdit. Di samping itu, kami menyerahkan diri sebagai sasaran dan menetapkan tindakan untuk mengeditItem :.

Pelaksanaan editItems: tindakan hanya satu baris kod yang dapat dilihat di bawah. Apabila pengguna menekan butang edit, paparan jadual ditogga masuk atau keluar dari mod edit. Kami melakukan ini dengan menggunakan sedikit helah. Kami minta pandangan jadual sama ada ia kini dalam mod edit, yang mengembalikan nilai BOOL, dan songsang nilai kembali (YES menjadi TIDAK dan sebaliknya). Kaedah yang kami panggil pada paparan jadual ditetapkanMembuat: animasi :, yang merupakan setter khusus yang menerima parameter animasi.

Jika anda menjalankan aplikasi senarai membeli-belah dalam Simulator iOS dan ketik butang edit, anda harus melihat paparan jadual ditogga masuk dan keluar dari mod edit.

Dua kaedah protokol UITableViewDataSource adalah penting untuk membolehkan penyuntingan dalam paparan jadual:

  1. tableView: canEditRowAtIndexPath:
  2. tableView: commitEditingStyle: forRowAtIndexPath:

Apabila pengguna menekan butang edit, paparan jadual meminta sumber datanya yang mana baris boleh diedit dengan menghantar sumber data mesej tableView: canEditRowAtIndexPath :. Apabila YES dikembalikan untuk laluan indeks tertentu, paparan jadual mengarahkan sel paparan jadual baris yang sepadan yang perlu ditukar masuk atau keluar dari mod edit, bergantung pada mod edit paparan jadual.

Dalam amalan, ini bermakna sel paparan jadual menunjukkan atau menyembunyikan kawalan penyuntingannya. Konsep ini lebih baik difahami dengan melaksanakan jadual: canEditRowAtIndexPath: kaedah seperti ditunjukkan di bawah.

Pelaksanaan tableView di atas: canEditRowAtIndexPath: membolehkan pengguna untuk mengedit setiap baris dalam pandangan jadual dengan pengecualian baris kedua. Jalankan aplikasi dalam Simulator iOS dan cuba mencuba.

Untuk aplikasi senarai membeli-belah, pengguna perlu dapat mengedit setiap baris dalam paparan jadual, yang bermaksud bahawa tableView: canEditRowAtIndexPath: semestinya sentiasa kembali YES seperti digambarkan di bawah.

Anda mungkin menyedari bahawa tiada apa yang berlaku apabila anda cuba memadamkan baris dalam paparan jadual. Teka-teki belum selesai. Setiap kali pengguna mengetuk butang padam baris, paparan jadual menghantar sumber datanya kepada mesej tableView: commitEditingStyle: forRowAtIndexPath :. Hujah kedua kaedah yang sama menunjukkan jenis tindakan yang dilakukan oleh pengguna, memasukkan atau memadamkan baris. Aplikasi senarai membeli-belah hanya akan memberikan sokongan untuk memadam baris dari paparan jadual.

Memadam baris dari pandangan jadual melibatkan:

  1. memotong item yang bersesuaian dari harta benda pengawal paparan
  2. mengemas kini paparan jadual dengan memadam baris yang sepadan

Mari kita periksa pelaksanaan tableView: commitEditingStyle: forRowAtIndexPath :. Kaedah bermula dengan memeriksa sama ada gaya penyuntingan adalah sama dengan UITableViewCellEditingStyleDelete kerana kami hanya mahu membenarkan pengguna memadam baris dari paparan jadual.

Sekiranya gaya penyuntingan adalah sama dengan UITableViewCellEditingStyleDelete, maka item yang sepadan dikeluarkan dari array item, baris yang berkaitan dipadamkan dari paparan jadual, dan senarai item dikemaskini disimpan ke cakera.

Jalankan aplikasi dalam Simulator iOS untuk menguji fungsi padam. Jangan lupa untuk berhenti dan melancarkan semula permohonan untuk mengesahkan bahawa item dipadamkan secara kekal dari senarai.


10. Mengedit Item

Kami boleh menggunakan semula kelas TSPAddItemViewController untuk item penyuntingan, tetapi menggunakan kelas pengawal paparan untuk menambah dan menyunting item sering dapat mengatasi pelaksanaannya sehingga saya akhirnya membuat subclass UIViewController yang berasingan untuk item penyuntingan. Ini pada awalnya akan menghasilkan beberapa pertindihan dari segi pelaksanaan dan antara muka pengguna, tetapi ia akan memberikan kita lebih fleksibel di jalan.

Mewujudkan Pengawal View Editing

Buat subclass UIViewController baru dan namakannya TSPEditItemViewController. Fail pengepala kelas TSPAddItemViewController dan TSPEditItemViewController sangat serupa.

Selepas mengimport tajuk kerangka UIKit, satu deklarasi kelas depan dan protokol ditambahkan. Antara muka kelas adalah serupa dengan kelas TSPAddItemViewController. Perbezaan utama adalah perisytiharan harta untuk menyimpan item yang sedang diedit.

Fail tajuk berakhir dengan perisytiharan protokol TSPEditItemViewControllerDelegate. Pengisytiharan protokol mengandungi satu kaedah yang dipanggil apabila sesuatu item dikemas kini. Kaedah ini menerima pengawal pandangan dan item yang dikemas kini sebagai hujah-hujahnya.

Buka papan cerita utama, seret contoh UIViewController dari Perpustakaan objek, tetapkan kelasnya kepada TSPEditItemViewController, dan buat segue push manual dari pengawal paparan senarai ke pengawal paparan item edit, menamakannya EditItemViewController.

Seret dua contoh UITextField dari Perpustakaan Objek ke paparan pengawal pandangan dan letakkannya seperti ditunjukkan dalam gambar di bawah. Pilih medan teks teratas, buka Inspektor Atribut, dan masukkan Nama dalam medan Placeholder. Pilih medan teks bawah dan, dalam Inspektor Atribut, tetapkan teks pemegang tempatnya kepada Harga dan tetapkan Papan Kekunci ke Pad Nombor. Pilih objek pengawal paparan, buka Inspektor Sambungan, dan sambungkan kedai namaTextField dan priceTextField ke medan teks yang sepadan dalam antara muka pengguna.

Dalam kaedah melihat viewDidLoad pengawal, buat butang simpan seperti yang kita lakukan dalam kelas TSPAddItemViewController.

Pelaksanaan simpan: tindakan sangat mirip dengan yang kami lakukan dalam kelas TSPAddItemViewController. Walau bagaimanapun, terdapat beberapa perbezaan halus yang saya ingin tunjukkan.

Daripada melewatkan nama dan nilai harga kepada perwakilan, kami terus mengemas kini item dan lulus item yang dikemaskini kepada perwakilan pengawal pandangan. Kerana pengawal pandangan adalah pengawal pandangan kanak-kanak pengawal navigasi, kita menolak pengawal paparan dengan memaparkannya dari timbunan navigasi.

Menunjukkan Pengawal Lihat Edit Item

Dalam beberapa minit, kami akan melaksanakan fungsi yang membolehkan pengguna memilih item dari pengawal paparan senarai untuk menambahkannya ke senarai beli-belah. Pengguna akan dapat melakukan ini dengan mengetuk baris dalam paparan senarai. Persoalannya kemudian timbul bagaimana pengguna akan dapat mengedit item jika mengetuk baris dikhaskan untuk menambah item ke senarai beli-belah?

Rangka kerja UIKit menyediakan butang pendedahan terperinci untuk tepat menggunakan kes ini. Butang pendedahan terperinci adalah chevron kecil, kecil yang diletakkan di sebelah kanan sel paparan meja. Untuk menambah butang pendedahan terperinci ke dalam sel paparan jadual, kita perlu mengkaji semula kaedah mejaView: cellForRowAtIndexPath: dalam pengawal paparan senarai dan memindanya seperti ditunjukkan di bawah.

Setiap sel paparan jadual mempunyai ciri Jenis aksesori. Dalam pelaksanaan di bawah, kami menetapkannya kepada UITableViewCellAccessoryDetailDisclosureButton. Seperti yang anda perhatikan, jurutera di Apple tidak suka nama pendek.

Bagaimanakah pandangan jadual memberitahu perwakilan apabila butang pendedahan terperinci ditoreh? Tidak mengejutkan, protokol UITableViewDelegate mentakrifkan tableView: accessoryButtonTappedForRowWithIndexPath: kaedah untuk tujuan ini. Lihatlah pelaksanaannya.

Kami mengambil item yang betul dari item barang dan menyimpannya dalam pemilihan, harta persendirian pengawal paparan senarai yang akan kami deklarasikan dalam seketika. Kami kemudian melakukan segue dengan pengenal EditItemViewController.

Sebelum kita mengemas kini pelaksanaan penyediaanForSegue: pengirim :, kita perlu mengisytiharkan harta persendirian untuk menyimpan item yang dipilih.

Kami juga perlu mengimport fail pengepala kelas TSPEditItemViewController dalam TSPListViewController.h dan mematuhi kelas TSPListViewController kepada protokol TSPEditItemViewControllerDelegate.

Pelaksanaan yang telah dikemaskinikan untuk menyediakanForSegue: pengirim: cukup mudah seperti yang dapat anda lihat di bawah. Kami mendapat rujukan pengawal paparan item edit dan menetapkan perwakilan dan sifat itemnya.

Pelaksanaan kelas TSPEditItemViewController hampir selesai. Dalam kaedah viewDidLoad, kita mengisi medan teks dengan data harta benda. Kerana setText: kaedah medan teks hanya menerima contoh NSString, kita perlu membungkus nilai terapung harta harga item dalam rentetan untuk memaparkannya dalam priceTextField.

Mengguna pakai Protokol Perwakilan

Mengguna pakai protokol TSPEditItemViewControllerDelegate adalah terhad untuk melaksanakan pengawal: didUpdateItem: kaedah seperti ditunjukkan di bawah. Ia mungkin mengejutkan anda bahawa kami tidak mengemas kini sumber data paparan jadual. Apa yang kita lakukan dalam kaedah perwakilan adalah menambah satu baris pandangan jadual.

Alasan bahawa kita tidak perlu mengemas kini sumber data paparan jadual, pelbagai item, adalah item yang dikemas kini telah diluluskan dengan merujuk kepada pengawal paparan item edit. Dalam erti kata lain, objek yang disunting pengawal paparan item dikemas kini adalah objek yang sama yang terdapat dalam array item. Ini adalah salah satu manfaat yang bagus untuk bekerja dengan objek dan petunjuk.

Jangan lupa simpan senarai item untuk memastikan penyuntingan ditulis ke cakera. Jalankan aplikasi untuk menguji fungsi penyuntingan.


11. Mewujudkan Pengawal Lihat Senarai Pengawal

Sebelum kita menjelajah sumber data pengawal paparan senarai membeli-belah, mari kita buat beberapa perancah untuk berfungsi. Buat subclass UITableViewController baru dan namakannya TSPShoppingListViewController.

Buka fail pelaksanaan kelas baru dan tambahkan dua sifat persendirian jenis NSArray kepada lanjutan kelas:

  1. item, yang akan mengandungi senarai lengkap item
  2. shoppingList, yang hanya akan mengandungi item senarai beli-belah

Oleh kerana kita akan mengatasi kaedah penetap kedua-dua sifat, kita perlu mengisytiharkan harta sebagai nonatomik. Jangan bimbang dengan makna sebenar ini buat masa sekarang.

Idea ini adalah untuk memuatkan senarai item setiap kali perubahan dibuat ke senarai dan kemudian menghuraikan senarai item dan ekstrak hanya barang-barang yang mempunyai sifat inShoppingList mereka ke YES. Barang-barang tersebut akan ditambahkan ke array shoppingList.

Pilihan lain adalah menyimpan senarai membeli-belah dalam fail berasingan, tetapi kelemahan pendekatan ini adalah bahawa kita perlu menyimpan item dalam pengawal paparan senarai dan item dalam senarai membeli-belah disegerakkan. Ini meminta masalah jika anda bertanya kepada saya.

Penyelesaian Kastam

Kaedah penyusun item dan shoppingList akan melakukan kebanyakan mengangkat berat untuk kami. Lihatlah pelaksanaan setItems :. Apabila pembolehubah contoh _item dikemas kini (ditetapkan dengan nilai baru), kaedah buildShoppingList dipanggil pada pengawal paparan.

Mari lihat apa kaedah buildShoppingList kelihatan seperti.

Kaedah buildShoppingList memaparkan array shoppingList dengan item yang mempunyai sifat inShoppingList yang ditetapkan kepada YES. Dalam kaedah buildShoppingList, kami membuat pelbagai perubahan untuk menyimpan item senarai beli-belah buat sementara waktu. Kami kemudian berulang melalui senarai item dan tambahkan setiap item ke array mutable yang mempunyai harta inShoppingList YES. Akhirnya, kami menetapkan properti shoppingList dengan kandungan array yang boleh berubah.

Jangan lupa untuk mengimport fail pengepala kelas TSPItem di bahagian atas.

Kami juga mengatasi tetapan setShoppingList untuk memuatkan semula paparan jadual setiap kali array shoppingList diubah atau dikemas kini.

Memaparkan Senarai Beli-belah

Melaksanakan kaedah-kaedah protokol UITableViewDataSource hendaklah bermain kanak-kanak sekarang. Lihatlah pelaksanaan setiap kaedah di bawah.

Jangan lupa untuk mengisytiharkan pengenal semula semula sel dan daftar kelas UITableViewCell seperti yang telah kami lakukan dalam kelas TSPListViewController.

Memuatkan Item

Seperti yang telah dijelaskan sebelumnya, kelebihan utama menggunakan senarai item untuk menyimpan dan membina senarai beli-belah ialah aplikasi menyimpan setiap item dalam satu tempat sahaja. Ini menjadikan item mengemas kini dalam senarai dan senarai membeli-belah yang kurang daripada sakit kepala. Kaedah loadItems adalah sama dengan yang kami lakukan dalam kelas TSPListViewController.

Sudah tentu, kaedah pathForItems adalah serupa juga kerana kita memuatkan senarai item dari fail yang sama seperti dalam kelas TSPListViewController.

Apabila anda mendapati diri anda meniru kod, anda perlu mendengar loceng penggera berbunyi. Kod duplikat tidak bermasalah semasa anda melaksanakan ciri baharu. Walau bagaimanapun, selepas itu, anda harus menimbangkan refactoring kod anda untuk meminimumkan jumlah duplikasi dalam asas kod aplikasi. Ini adalah konsep yang sangat penting dalam pembangunan perisian dan sering dirujuk sebagai DRY, Don't Repeat Yourself. Chris Peters menulis artikel hebat mengenai Tuts + mengenai pemrograman DRY.

Sebelum kita meletakkan kelas TSPShoppingListViewController untuk digunakan, kita perlu mengemas kini kaedah initWithCoder: kelas. Sebagai tambahan untuk menetapkan tajuk pengawal paparan, kami juga memuatkan senarai item, yang secara automatik memaparkan array shoppingList seperti yang kita lihat sebelumnya.

Langkah terakhir ialah memulakan pengawal paparan senarai membeli-belah dengan mengemaskini papan cerita utama. Ini melibatkan penambahan contoh UITableViewController, menetapkan kelasnya kepada TSPShoppingListViewController, membenamkannya dalam pengawal navigasi, dan mewujudkan hubungan antara pengawal tab bar dan pengawal navigasi. Namakan segmen ShoppingListViewController. Pilih paparan jadual pengawal paparan senarai beli-belah dan tetapkan bilangan sel prototaip kepada 0.

Jalankan aplikasi untuk melihat sama ada semuanya berfungsi dengan betul. Sudah tentu, senarai membeli-belah kini kosong dan kami tidak mempunyai cara untuk menambah item ke senarai membeli-belah. Mari remedi ini dalam langkah seterusnya.


11. Menambah Item ke Senarai Beli-belah

Seperti yang saya nyatakan sebelum ini, idea itu adalah untuk menambah item ke senarai belanja apabila ditekan dalam pengawal paparan senarai. Untuk meningkatkan pengalaman pengguna, jika item berada dalam senarai belanja, kami menunjukkan tanda semak hijau di sebelah kiri nama item. Jika item yang sudah ada dalam senarai membeli-belah ditoreh, maka ia akan dikeluarkan dari senarai belanja dan tanda semak hijau hilang. Ini bermakna kita perlu melihat mejaView: didSelectRowAtIndexPath: kaedah protokol UITableViewDelegate.

Sebelum kita melaksanakan tableView: didSelectRowAtIndexPath :, muat turun fail sumber pelajaran ini. Dalam folder bernama Resources, cari fail bernama checkmark.png dan checkmark2x.png, dan tambahkan kedua fail ini ke projek. Kami akan memerlukan mereka dalam beberapa saat.

Dalam barisan pertama tableView: didSelectRowAtIndexPath :, kami menghantar jadual melihat mesej deselectRowAtIndexPath: animasi: untuk membatalkan pilihan barisan pengguna disedut. Apabila satu baris ditoreh, ia hanya perlu diserlahkan untuk segera dan tambahan ini. Seterusnya, kami mengambil item yang sesuai untuk barisan yang dipilih dan mengemas kini harta dalamShoppingList item (YES menjadi TIDAK dan sebaliknya).

Berdasarkan nilai harta setInShoppingList item, kami sama ada menunjukkan atau menyembunyikan tanda semak hijau. Kami mempamerkan tanda semak dengan menetapkan sifat imej pada imej gambar sel pandangan meja itu. Setiap contoh UITableViewCell mengandungi pandangan imej di sebelah kiri (contoh kelas UIImageView). Dengan menetapkan imej imej paparan imej kepada nihil, paparan imej kosong, tidak menunjukkan imej.

Pelaksanaan tableView: didSelectRowAtIndexPath: berakhir dengan menyimpan senarai item ke disk untuk memastikan perubahan itu tetap berlaku.

Bagaimanakah senarai belanja tahu apabila item dalam senarai pengawal paparan disedot oleh pengguna? Pengawal paparan senarai membeli-belah tidak akan mengemas kini paparan jadualnya secara automatik jika perubahan dibuat pada senarai item dalam pengawal paparan senarai. Di samping itu, kami tidak mahu pengawal paparan senarai dan pengawal paparan senarai membeli-belah untuk berkomunikasi secara langsung kepada satu sama lain untuk mengelakkan sebarang bentuk pengganding yang ketat.

Satu penyelesaian untuk masalah ini adalah penggunaan pemberitahuan. Apabila pengawal melihat senarai membuat perubahan pada senarai item, ia menyiarkan pemberitahuan dengan nama tertentu ke pusat pemberitahuan, objek yang mengurus pemberitahuan. Objek yang berminat dalam pemberitahuan tertentu boleh menambah diri mereka sebagai pemerhati pemberitahuan tersebut, yang bermaksud bahawa mereka boleh bertindak balas apabila pemberitahuan tersebut dihantar ke pusat pemberitahuan.

Bagaimanakah semua ini berfungsi? Terdapat tiga langkah:

  1. pengawal pandangan senarai membeli-belah bermula dengan memberitahu pusat pemberitahuan bahawa ia berminat menerima pemberitahuan dengan nama TSPShoppingListDidChangeNotification
  2. pengawal paparan senarai menyiarkan pemberitahuan kepada pusat pemberitahuan setiap kali ia mengemas kini senarai item
  3. apabila pengawal melihat senarai membeli-belah menerima pemberitahuan dari pusat pemberitahuan, ia mengemas kini sumber data dan paparan jadualnya sebagai tindak balas

Sebelum kita melaksanakan tiga langkah yang telah saya jelaskan, ini adalah idea yang baik untuk melihat dengan lebih dekat kelas NSNotificationCenter.

Ringkasnya, NSNotificationCenter mengurus penyiaran pemberitahuan. Objek dalam aplikasi boleh mendaftar dengan pusat pemberitahuan untuk menerima pemberitahuan menggunakan addObserver: selector: name: object: where

  1. hujah pertama adalah objek yang akan menerima pemberitahuan (pemerhati)
  2. pemilih adalah tindakan yang akan dicetuskan apabila pemerhati menerima pemberitahuan
  3. nama itu nama pemberitahuan itu
  4. hujah terakhir adalah objek yang menghantar pemberitahuan

Jika hujah terakhir ditetapkan kepada nihil, pemerhati menerima setiap pemberitahuan dengan nama yang dinyatakan.

Menerima Pemberitahuan

Baca semula initWithCoder: kaedah kelas TSPShoppingListViewController dan tambahkan contoh pengawal pandangan sebagai pemerhati untuk menerima pemberitahuan dengan nama TSPShoppingListDidChangeNotification.

Tindakan yang dicetuskan apabila pengawal paparan menerima pemberitahuan dengan nama itu adalah updateShoppingList :. Kami menetapkan objek itu kepada nil kerana ia tidak benar-benar perkara yang menghantar pemberitahuan itu.

Sebelum kita melaksanakan updateShoppingList :, kita perlu meminda kaedah viewDidLoad pengawal paparan senarai beli-belah. Di viewDidLoad, kami memuatkan item dari cakera.

Menjawab Pemberitahuan

Kaedah yang dicetuskan apabila pemerhati menerima pemberitahuan mempunyai format khusus seperti yang anda dapat lihat di bawah. Ia menerima satu hujah, iaitu objek pemberitahuan yang merupakan jenis NSNotification. Objek pemberitahuan menyimpan rujukan kepada objek yang menyiarkan pemberitahuan dan ia juga boleh mengandungi kamus dengan maklumat tambahan. Pelaksanaan updateShoppingList: kaedahnya agak mudah, iaitu kaedah loadItems dipanggil pada pengawal view, yang artinya senarai item dimuat dari disk. Selebihnya berlaku secara automatik terima kasih kepada kaedah penyetelan tersuai yang kami lakukan sebelum ini.

Menghantar Pemberitahuan

Potongan ketiga teka-teki ini menyiarkan pemberitahuan apabila senarai item diubah oleh pengawal paparan senarai. Kita boleh melakukan ini dalam kaedah saveItems kelas TSPListViewController.

Kami pertama kali meminta rujukan kepada pusat pemberitahuan lalai dengan memanggil defaultCenter pada kelas NSNotificationCenter. Seterusnya, kami memanggil postNotificationName: objek: di pusat pemberitahuan lalai dan lulus nama notifikasi, TSPShoppingListDidChangeNotification, dan objek menyiarkan pemberitahuan itu.

Sebelum anda membina projek itu, pastikan anda meminda mejaView: cellForRowAtIndexPath: seperti yang ditunjukkan di bawah untuk memaparkan tanda semak hijau untuk item yang sudah ada dalam senarai beli-belah.

Jalankan aplikasi senarai membeli-belah untuk memberikannya putaran. Pernahkah anda perhatikan bahawa pengeditan pada item secara automatik dicerminkan dalam senarai beli-belah?


Sedia untuk Penerbitan?

Hebat. Di manakah butang untuk menerbitkan aplikasi senarai beli-belah ke App Store? Kami belum selesai. Walaupun kami telah meletakkan asas permohonan senarai membeli-belah, ia tidak bersedia untuk diterbitkan. Terdapat juga beberapa perkara yang harus dipertimbangkan.

Skalabiliti

Aplikasi senarai membeli-belah adalah pelaksanaan sederhana senarai membeli-belah. Sekiranya aplikasi itu mengandungi beratus-ratus atau beribu-ribu item maka ia akan menjadi penting untuk menambah keupayaan carian serta seksyen untuk menyusun item mengikut abjad (seperti yang kita lakukan sebelum ini dalam siri ini). Adalah penting untuk menyedari bahawa senarai item ditulis ke cakera keseluruhannya setiap kali sesuatu item dikemas kini. Ini tidak menjadi masalah apabila senarai itu kecil, tetapi akan menjadi jika senarai itu tumbuh dari masa ke masa hingga beratus-ratus atau ribuan item.

Hubungan

Juga, pengguna mungkin ingin menyimpan lebih daripada satu senarai membeli-belah. Bagaimana anda akan berurusan dengannya? Satu pilihan adalah untuk menyimpan setiap senarai membeli-belah dalam fail berasingan, tetapi bagaimana anda akan berurusan dengan perubahan yang dibuat kepada item? Adakah anda akan mengemas kini setiap senarai membeli-belah yang mengandungi item itu? Apabila anda mula berurusan dengan perhubungan, lebih baik memilih untuk menyimpan data SQLite. Data Teras adalah sahabat yang hebat jika anda memilih untuk menurunkan jalan tersebut. Ia adalah kerangka yang kuat dan sukan banyak ciri yang membuat banyak kod dalam aplikasi senarai membeli-belah kita usang. Memang benar bahawa Data Teras membawa lebih banyak overhead dengannya jadi kunci untuk pertama pertimbangkan jika Data Teras sesuai untuk aplikasi anda, dengan kata lain, jika ia bernilai overhead.

Ciri-ciri tambahan

Terdapat juga banyak potensi untuk ciri tambahan. Harta harga barangan tetap tidak digunakan dalam pelaksanaan senarai membeli-belah semasa. Selain itu, lebih baik jika pengguna boleh menyemak item dari senarai belanja dengan mengetik item tersebut. Seperti yang dapat anda lihat, pelaksanaan aplikasi senarai membeli-belah semasa ini hanya permulaan yang sederhana.


Kesimpulan

Walaupun aplikasi senarai membeli-belah belum lagi siap untuk App Store, anda tidak boleh menafikan bahawa ia berfungsi seperti yang kita rancang dan telah menunjukkan banyak aspek baru pembangunan Kakao, seperti pemberitahuan dan melaksanakan perwakilan tersuai protokol.

Anda kini tahu apa yang diharapkan daripada SDK iOS dan perkembangan iOS seperti apa. Terpulang kepada anda untuk memutuskan sama ada anda mahu meneruskan perjalanan anda dan menjadi pemaju iOS mahir. Jika anda memilih untuk meneruskan pembangunan IOS, maka saya akan memberi anda beberapa sumber yang hebat dalam ansuran seterusnya dan akhir siri ini.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.