В 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' будет newValue