You have two main options for doing this provided your array controller is bound to clientsArray
.
The first way is to just use the array controller's addObject:
method instead of adding objects directly to clientsArray
.
The other way is to keep your current addClientFooFooey:
method but wrap your existing code with these two lines:
[self willChangeValueForKey:@"clientsArray"];
[self didChangeValueForKey@"clientsArray"];
This tells the KVO system that you are making a change to the array so it will go and look at it again.
The first option is the most straightforward, but if for some reason you need to update the array directly just let KVO know you are doing it.