Book Image

Objective C Memory Management Essentials

Book Image

Objective C Memory Management Essentials

Overview of this book

Table of Contents (18 chapters)
Objective-C Memory Management Essentials
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

What is key-value coding or KVC?


Key-value coding is basically a mechanism to indirectly access an object's properties, rather than explicitly getting and setting those properties via instance variables. With KVC, we use strings as properties keys, which act as an identifier. It is used by passing a "key", which is a string to get or set the property related to that key. For example, take a look at the following code sample:

@interface DogClass
@property NSString *dog_name;
@property NSInteger number_legs;
@end

DogClass *mydog = [[DogClass alloc] init];
NSString *string = [myDog valueForKey:@"dog_name"];
[mydog setValue:@4 forKey:@"number_legs"];

In the preceding code, we created DogClass with two properties of NSString and NSInteger. Then, we used valueForKey and setValue to get the value of dog_name and number_legs respectively using key-value coding.

If this sounds familiar to you, you may recognize the syntactical similarity when using NSDictionary.

There is another sample code, which you...