I ran into that exact same issue. Are you sure from teh documentation that you wrote the correct method statement? Example, -(returnVal)methodName:<etc...>. If you do not use exactly the one the framework is looking for, it will not work.
Also make sure not to prototype that method in the <.h> interface declaration, only in the <.m> implimentation declaration. If you did this and there is a warning or error at compile-time, then you will need to add the delegate into the interface declaration. For example, @interface MyClass <TabBarControllerDelegate> {}. The reason you do this is to expose all the methods that class allows to the subclass without having to actually inherit from it. This is a new Objective-C 2.0 thing I believe.