KVC+KVO

From Medien Wiki
Revision as of 16:18, 18 February 2010 by Mm (talk | contribs) (created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Key-Value-Coding ist ein elementares und grundlegendes Design-Pattern von Cocoa:

// ohne key-value coding:
NSString* myString = [myObject name];
[myObject setName:@"Hallo Welt"];

// mit key-value coding:
NSString* myString = [myObject valueForKey:@"name"];
[myObject setValue:@"Hallo Welt" forKey:@"name"];

// collections benutzen Key-Value-Coding
NSNumber* myNumber = [myDict valueForKey:@"myNumber"];
[myDict setValue:[NSNumber numberWithInt:5] forKey:@"myNumber"];


Vorteile von Key-Value-Coding

  • Keine benannten Selektoren (nur valueForKey: und setValue:forKey:)
  • Sämtliche Cocoa-Collections (NSArray, NSDictionary...) benutzen KVC
  • Bindings (nicht verfügbar in iPhone OS <= 3.0) funktionieren mit KVC
  • Ideal für dynamisch synthetisierte Methoden


Links



Diese Seite ist Teil des Werkmoduls iOS Development von Michael Markert für Interface Design / Fakultät Medien an der Bauhaus-Universität Weimar.