Using a thrift file such as:
The generated Objective-C object, "baz" will have working getters but "Bar" will not. For example, after setting bar to 5 and baz to 9, I get the following output depending on the syntax:
The problem is that the generated header specifies a lowercase getter:
Whereas the .m file uses uppercase:
When the Objective-C compiler sees that there is no lowercase getter implementation provided, it automatically generates one (this is supposed to be a convenience of the @property syntax). So effectively, two getters are defined: a lowercase one that does not work, and an uppercase one that does work but is private.
As a workaround one can define all their fields beginning with a lowercase letter, if possible.