Biasanya programming language menggunakan dot syntax untuk panggil method atau dapatkan property.
contohnya,
//get
CGFloat height = box.height;
//set
box.height = 5;
Dengan menggunakan KVC, untuk set atau get
//get
[box setValueForKey:@"height"];
//set
CGFloat height = [box valueForKey:@"height];
Dengan menggunakan KVC ada banyak kelebihan. Contohnya anda ada satu Class Box . Di bawah menunjukkan interface class box, ada 3 properties height, width dan length
Contohnya ada satu array yang mempunyai boxes, dan anda nak tambahkan total height.
Macam mana, lagi simple bukan? Contoh lagi jika nak hanya widths array
Jika anda lihat @sum dinamakan collection operator, ada beberapa lagi collection operator seperti @avg, @min, @max dan @count seperti dalam documentation
http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueCoding/Articles/CollectionOperators.html
Yang menarik adalah boleh juga kalau nak define custom operator sendiri.
Dalam objective c tak semestinya menggunakan KVC tapi ada sesetengah tempat yg lebih baik menggunakan KVC. Dengan menggunakan KVC juga dapat memendekkan lagi code dan juga menjadikan code nampak lebih kemas seperti contoh di atas.
No comments:
Post a Comment