实例变量语法问题

时间:2011-06-20 00:37:50

标签: iphone objective-c

当声明一个实例变量时,如果我在@interface和@property下声明它,它会有所不同吗?例如:

   @interface MyViewController : UIViewController {
        NSString *myString;
   }
   @property (nonatomic, retain) NSString *myString;

如果我拿出@interface下的那个会不会有意义?我一直这样做,想知道它是否有用。

1 个答案:

答案 0 :(得分:7)

使用现代编译器(LLVM的最新版本),不需要将实例变量与@property一起声明(如tc所示;实际上是@synthesize指示编译器保留一个插槽,否则,你自己存储)并且这样做不会改变任何东西。

一个建议;当你@synthesize时,做一些像@synthesize myString = myString_;这样的事情,让iVar有一个不同的名字,因此,当你打算穿过房产时,不可能意外地直接访问。