35 Key-Value coding

Key-value coding is the ability to read and set a property using its name. The key-value coding methods are defined in NSObject, and thus every object has this capability.

Open main.m and find the line:

 ​ ​ ​ ​[​a​ ​s​e​t​P​r​o​d​u​c​t​N​a​m​e​:​@​"​W​a​s​h​i​n​g​ ​M​a​c​h​i​n​e​"​]​;​

Rewrite the same line to use key-value coding:

 ​ ​ ​ ​[​a​ ​s​e​t​V​a​l​u​e​:​@​"​W​a​s​h​i​n​g​ ​M​a​c​h​i​n​e​"​ ​f​o​r​K​e​y​:​@​"​p​r​o​d​u​c​t​N​a​m​e​"​]​;​

In this case, the setValue:forKey: method, as defined in NSObject, will go looking for a setter method named setProductName:. If the object does not have a setProductName: method, it will access the instance variable directly.

You can also read the value of ...

Get Objective-C Programming: The Big Nerd Ranch Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.