В Objective-C существуют "строгие" соглашения для именования методов доступа, которые позволят классу быть совместимым с кодированием значения ключа.
Сеттер для foo всегда называется setFoo:
[obj setFoo:newFoo];
Геттер может быть одним из трех вариантов:
[obj foo];
[obj getFoo:otherFoo];
[obj isFoo];
Первый - это случай, когда средство доступа возвращает либо атрибут, либо копию атрибута. Во втором случае метод доступа принимает аргумент и помещает атрибут в эту переменную (обычно указатель ссылки), а в третьем - атрибут foo логического типа.
Преимущество использования Objective-C в этом заключается в том, что вы можете получить доступ к атрибуту, используя Key Path, и он будет использовать средство доступа - и будет искать в различных формах средства доступа, пока не найдет его.
temp = obj.foo;
При этом будет использоваться метод доступа, если он следует схеме именования, приведенной выше.
В питоне я использую другую схему. Для свойств, к которым я получу доступ через нотацию:
class Class:
def get_x(self):
return self._x
def set_x(self,x):
self._x = x
x = property(get_x, set_x)
В тех случаях, когда я хочу использовать вызов метода, я использую:
get_thing()