setValue:forKey:
Diğer şeylerin yanı sıra, Arayüz Oluşturucu'nun beğenilerinden nesne özelliklerine erişmenizi sağlayan NSKeyValueCoding protokolünün bir parçasıdır . setValue:forKey:
dışındaki sınıflarda uygulanır NSDictionary
.
setObject:forKey:
olduğunu NSMutableDictionary's
varolmaya sebep. İmzası setValue: forKey: ile oldukça benzerdir, ancak daha geneldir (örneğin, herhangi bir anahtar türü). İmzaların çok benzer olması bir tesadüf.
Karışıklıklara ek olarak, NSMutableDictionary uygulamasının çoğu durumda setValue:forKey:
eşdeğer olmasıdır setObject:forKey:
. Diğer sınıflarda setValue:forKey:
üye değişkenleri değiştirir. Gelen NSMutableDictionary
bir '@' karakteri ile anahtar önüne belirtilmediği sürece bu sözlüğe giriş değiştirir - bu durumda o üye değişkenleri değiştirir.
Yani, kısaca, kullanımda setObject:forKey:
tüm sözlük anahtarlarını ve değerlerle işe gerekir ve ne zaman setValue:forKey:
sen mücadele için gereken nadir durumlarda KVP .
EDIT: ve oh, daha önce sorulmuş ve cevaplanmış gibi görünüyor: objectForKey ve valueForKey arasındaki fark?