Glad you got it working.
don't I have to set the bindings such as "Value" or "Hidden"?
No all you need to do is connect the UI element to the property (for output to) or method (for input from) in your code.
When you drag a UI element out and place it in the window for your app you are creating an instance of the UI Class. That is if you drag out a ProgressIndicator you create an instance of it that you can then send messages to or receive messages from.
So if oyu want to make the ProgressIndicator visible or invisible you send it the message setHidden: with the correct value (true or false). If you want to set the ProgressIndicatior you send it the message incrementBy:
So if I have a property in my code
property progressIndicator : missing value
and I connect it to the ProgressIndicator UI element I can then do things like
progressIndicator's setIndeterminate_(false)
progressIndicator's setDoubleValue_(0)
progressIndicator's setMaxValue_(60)
To see the messages a class implements you need to look at the classes documentation. Xcode is great for this as you can select an element in the Interface Builder and then select the Quick Help Inspector to get help and links for that particular element.
So if you select the ProgressIndicator you will see
along with links to the full class description as well as links to programming guides and sample code.
Now there is a way to bind individual parts of the code, such as value and hidden. These are show in the Bindings Inspector but these are for an somewhat advanced usage, that is you can do all you need to do for now with just connection between the property and the element. What bindings enable you to do is to have a more direct and automated way for one element to affect another or for it to affect a piece of code.
Let's say you have a slider that you use to input a number into your code. Also say you have a text view you use to both display the value of the slider and to also allow users to directly input a number. So when the slider moves you want the text view to update and if a user enters a number in the text view you want to set the slider to that value.
Without bindings you can do this by having the slider call your code, you retrieving the value and then you display that value in the text view. Conversely if a user enters a number in the text view you can retrieve that and then set the value of the slider. This works fine and is sufficient for many programs.
However with bindings it is possible for the slider to directly set the value in the text view and to have the number entered in the text view directly set the slider. One thing to keep in mind for bindings to work you need to be familiar with Key-Value Coding Programming Guide: Introduction. I
This might have been more information then you were looking for or need, if so you can safely ignore it. As I said you can do what you need to do here without bindings.
regards