Sunday, January 27, 2013

Key Value Coding

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