我一直在阅读自动合成的伊娃.我的问题是,"它们是自动分配的吗?" 我本来希望它们是self的一部分,所以我可以在调试器中看到它们,但似乎我能看到它们的唯一方法是调用accessor方法(通过gdb'po'命令).类/对象的结构中是否没有空格(就像明确声明的ivar一样)?
(是否有现代Objective-C对象的内存中表示的描述?)
作为一个C家伙,不能看到一切都在哪里让我感到非常不舒服.:-P
我知道@property在Objective-c中生成getter和setter.但是我已经看到了一些类,它们用各自的@property声明属性,有时候只是@property,没有属性和接缝以相同的方式工作.有什么不同?
感谢Yuji回答了我的另一个问题,并向我指了一篇关于Objective-C中动态ivars的文章.
然而,正如我在解释的其他问题的sizeof运营商现在的行为不一致.简而言之,sizeof不会考虑来自类.m文件外部的动态ivars,但会.m在@synthesize创建动态ivars 的声明之后将其考虑在文件中.
所以我的问题是,这是否打破了Objective-C是C的严格超集的想法?