Предыдущий ответ очень всеобъемлющий и хороший, я просто подумал, что добавлю ответ, объясняющий, в чем его суть, без особого участия какао или Objective-C. Это потому, что сама концепция не зависит от языка, хотя динамические языки, такие как Objective-C, делают ее lot проще, чем более статичный язык, такой как C ++.
Пример
Скажем, у вас есть два объекта M и V . M имеет методы:
setX(int x);
setY(int y);
int getX();
int getY();
В то время как V имеет методы:
setA(int x);
setB(int y);
int getA();
int getB();
Один из способов взглянуть на это так: M имеет свойства x и y , а V имеет свойства a и b . Вы хотите, чтобы изменение свойства x вызывало изменение свойства b , а изменение y вызывало изменение a .
Под изменением свойства x мы подразумеваем, например ,::1045*
M.setX(10)
где ранее
M.getX() != 10
Итак, мы хотим, чтобы вызов setX на M вызывал вызов setA на V .
Привязки позволяют вам сказать, что свойство b объекта V связано со свойством x объекта M . И тогда это обновление обрабатывается автоматически. Вам, как программисту, не нужно писать код, который проверяет, изменилось ли x , а затем вызывать setB on V . Bindings позаботится об этом автоматически.
Резюме
Привязки позволяют связывать два свойства вместе, которые существуют на двух разных объектах, так что изменение значения одного из свойств приводит к тому, что зависимое свойство в другом объекте изменяется на одно и то же значение.