В Sproutcore я использую универсальный метод установки / получения следующим образом:
foo.set('bar', newValue );
val = foo.get('bar');
Это сильно отличается от Objective-c, как бы я написал собственный метод получения / установки?
РЕДАКТИРОВАТЬ
Спасибо тем, кто помог, способ сделать это
bar: function( propKey, propVal ) {
if(propVal===undefined) { // called as getter method
var computedBarValue = ...
return computedBarValue;
} else {
this.bar = propVal + ... // called as setter method
}
}.property()
Как видите, у вас есть один метод, который является как получателем, так и установщиком.
если вы вызываете
val = foo.get('bar');
, аргумент метода 'propVal' будет неопределенным.
, если вы вызовете
foo.set('bar', newValue );
аргумент метода 'propVal'будет новое значение